プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

android

Android Studio が重い

Android Stduio でアプリの改修作業を行っていたら、ある時突然 CPU 使用率が80%~90%超で推移して、フリーズするようになってしまいました。 結論としては・・・修正したコードに無限ループが含まれていたことが原因だったようです(トホホです)。 まあ、…

(2023年11月時点)Google Play デベロッパーのアカウントについて

最近、 Google Play Console にログインしたら、こんな表示がでるようになってました。 どうもこれは、既存の Google Play デベロッパーアカウントについて、新しい Play Console 要件を満たすために、アカウントの確認を行う必要があるというものだそうです…

Flutter の Android 用設定の targetSdkVersion とかの設定場所について

Flutter でアプリを作成すると android/app/build.gradle ファイルとかに、 targetSdkVersion とかが書かれると思います。 いままでは、これって数字がハードコードされていたと思ってたけど、ふと最近作ったプロジェクトを見直したら、 minSdkVersion flutt…

Flutter プラグインの Android 側プラットフォームコードのデバッグ

Flutter って、 pub.dev で簡単に各種パッケージ(ライブラリ)を選んで入れるのができるのが便利ですよね。 先日、ある Flutter のプロジェクトのアップデート作業をしていたら、そこで使ってたパッケージ(プラグイン)でエラーを吐くものが出てきました。…

YouTube をテレビで見れるようにする

最近、子どもが大きくなってきたのもあって、タブレットで YouTube を見れるようにしました。そうしたら、まあ、食いつきのすごいこと。こりゃ、テレビ離れも致し方ないな、という納得の勢いです。 一応、タブレット自体の使用時間を制限していますが、食い…

Google Play で公開したアプリの削除依頼をしてみました

Android でアプリを作れるようになると Google Play で公開したくなりますよね? アプリにも寿命があり、ある時期を過ぎると、終わってしまうこともあると思います。 Google Play Console 使ったことのある方はわかると思いますが、 Google Play Console で…

Android エミュレータを複数ディスプレイのメイン以外に移動させるとフリーズする

タイトルの通り、 Android のエミュレータを起動して、メインのディスプレイ以外に移動させようとすると、隣の画面に映ったとたんにエミュレータがフリーズします。 こちらの記事で3画面化の話を書きましたが、それ以前から問題は起きていたので、グラボ関…

Android のストレージ関係のパーミッションについて

Android の外部ストレージ関係のパーミッションの扱いって、API レベルでいろいろと変わってわかりにくいので、まとめてみました。何かのご参考にしてください。 ただ、いろいろとドキュメントを読んではみたものの、理解不足から間違っている可能性もありま…

避難所検索@伊勢 v1.0 をリリースしました

以前ベータ版としてリリースしていた 避難所検索@伊勢 ですが、オフラインマップ回りの問題などが解決できたので、若干手を入れて 1.0 としてリリースしました。 play.google.com v1.0 リリースに関する作業で、気に合ったところをメモしておきます。 β版か…

avd 保存先を変更

android のエミュレータ (avd, android virtual device) をいくつか作成するようになると、結構ディスク容量がとられることに気づきます。で、案の定、システムディスクの容量が足りなくなってきたので、avdの保存先を移動できないか調べたら、できそうなの…

【Android】 NFC を試しました

以前から興味はあったのですが、ようやく仕事で使う機会に恵まれそうなので、 NFC を試してみました。 既にネットにいろいろと情報がありますが、自分なりに気づいた点をメモしておきます。 なお、検証は Nexus 6P, Android 8.1.0 で行いました。 NFC 全般に…

【Android】コンテンツプロバイダ一覧の取得

Android のアプリを作っているときに、端末に入っているコンテンツプロバイダの一覧を取得する必要が出てきました。 調べてみたら案外簡単でしたが、知らなかったのでメモっときます。 コンテンツプロバイダの一覧の取得 やり方は下記の Stackoverflow に示…

Firebase Authentication の Google ログインのサポートメールを変更

今度 Android アプリを作成するときに使うことになったので、今更ながらですが、 Firebase を触り始めました。 で、まずは Build Friendly Chat のチュートリアルを試してみました。Google ログインとかが簡単にできて、これはいいですね。 無事にチュートリ…

ミラキャストでスマホで撮った映像をテレビに映す

ビデオカメラを持っていないのもあり、子供のイベントの時の写真とか動画はスマホで撮る派です。 ズームが厳しいとか、動き回る子供を撮るのに、そろそろスマホの動画撮影も厳しくなってきたので、ビデオカメラ買おうかそろそろ悩み始めました。 とはいえ、…

避難所検索@伊勢(β版) をリリースしました

はじめに 今年度の頭頃(2017年4月頃)だったかな?伊勢市がオープンデータライブラリを公開しました。 オープンデータが増えてくれると、開発側としてはいろいろとうれしいことが多いので、大いに応援しています(頑張れー!伊勢市さん)。 といっても…

mapsforge でポップアップするマーカーを試す

下記の記事で、 Android でのオフライン地図表示を試しましたが、 blog.mori-soft.com 本格的に進めるために、まずは地図表示ライブラリの mapsforge をもう少し詳しく使ってみたいと思います。 簡単なサンプル まず最初に、簡単なサンプルとして、下記のリ…

オフラインでの地図表示と経路検索 (OpenStreetMap と Graphhopper)

ある android アプリを作ろうと思い立ったのですが、そのためには、オフラインでの地図表示と経路検索を行う必要が出てきました。 当初は、Google Map での実現を考えたのですが、オフライン地図に対応していない地域もあるため、あきらめました。 で、次に…

AndroidStudio のインストール (Windows環境)

いままで、Androidの開発は、Windows ホスト上の Ubuntu で eclipse+ADT でやってました(わざわざこんなことしてるのは、仕事単位で開発環境をいろいろと切り替えられるようにと、開発環境をいろいろといじって不安定になったときスナップショットで巻き戻…

【Android】 macアドレスの取得方法

Android端末のMACアドレスを調べる必要があったので、ちょっと調べてみました。やり方をメモっときます。 基本的に、stackoverflow の How to get IP address of the device? に載ってる方法です。 MacAddress取得クラス package com.example.macaddresstest…

【Android】 Facebook連携アプリのサンプル(2/2):実装

前記事で、FacebookSDKを使うための準備ができましたので、いよいよコーディングです。 サンプルについて 今回作ったサンプルは次のような動作をするものとします。 アプリが起動すると自動的にFacebookにログインします テキストを入力してボタンを押すと、…

【Android】 Facebook連携アプリのサンプル(1/2):準備

最近、Facebook連携アプリを作る機会があったので、手順をまとめておきます。作るアプリはFacebookへログインして、自分のタイムラインに投稿する機能を持ったアプリとします。 ちょっと前の作業だったので詳しい手順などはうろ覚えですが、備忘録代わりにメ…

【Android】 UIスレッドとは別スレッドからのToastの表示

『SQLiteとCursorLoaderの使い方(3/3)』を書いた際に、テスト用に埋め込んだToastがUIスレッド以外のスレッドから呼び出せてしまった。最初はたまたまかと思ったが何度やっても、いろいろと操作していても表示できる。常々、ToastはUIスレッドからしか呼べ…

【Android】 SQLite と CursorLoader の使い方(3/3): CursorLoader の利用

Content Provider も定義できたので、CursorLoaderを使う準備ができました。なお、(1/3)の記事、(2/3)の記事と異なり、この記事のプロジェクトのみ、minSdkVersion=11 として行いました(minSdkVersionが11以前では、Loaderを使うためには、Support Package…

【Android】 SQLite と CursorLoader の使い方(2/3): Content Provider の設定

Cursor Loader はContent Provider を前提にしているので、Content Provider を定義します。 Content Provider の設定 愚鈍人:コンテンツプロバイダ を参考に、コンテンツプロバイダを定義します。 SQLiteOpenHelper (の派生クラス)の定義は(1/3)の記事と…

【Android】 SQLite と CursorLoader の使い方(1/3): SQLite の設定

一番遅い終電検索のバージョンアップを検討していると、新しいSDK の作法では、SQLite を使う場合CursorLoader というものを使うのが流儀のようです。 なので、自分なりにSQLiteを使う場合の設定、Content Provider / Resolver の使い方、CursorLoader の使…

【Android】 ADT 15 → 20 で気になった点

ADT 15 から ADT 20 にアップデートして気になった点があったので、メモ代わりに書いておきます。 新規プロジェクト作成のウィザードが変わった ADT 20 にアップデートしたら新規のAndroidプロジェクト作成ウィザードが変わりました(結論からいうと、Suppor…

【Android】 ADT r15-> r20 にアップデートしたら実行時にエラー

別記事に書いたようにandroidの開発環境をADT r15 から r20 にアップデートしました。さっそく、既存のプロジェクトをエミュレータ上で実行させたら、VerifyError などというものが発生しました。プロジェクトの設定もソースコードも一切触ってないのに不思…

【Android】 ADT, eclipse アップデート(3.5 -> 4.2)

今の開発環境が、eclipse 3.5 (Galileo) なので、最新のADTへのアップデートができませんでした。しばらくは、別記事に書いたようにADT 15まではアップデートしてごまかしていたのですが、そろそろ最新版を使いたくなったので、eclipseからアップデートする…

【Android】ローカルファイルによるADTのアップデート

現在のAndroidの開発環境は、eclipse 3.5.2(Galileo)を使っています。また、SDK Toolはr9、ADTも9.0を使っていました。 仕事の都合で新しいSDKを使う必要があったので、eclipseのAndroid SDK and AVD Managerから普通にSDKをアップデートして、その後ADTも…

【Android】GoogleMapでの吹き出しの表示方法

以下の情報はもう古くなっています。Google Maps Android API v2 で吹き出しへの対応が可能です。 詳しくは、Google Maps Android API v2 などをご覧ください。また、実装方法については、Google Maps Android API v2を使ってみた などをご覧ください。 Goog…