開発備忘録

個人的な備忘録。随時追加・編集予定

■BroadcastReceiverの動作
・「android:process=”:remote”」を付けると別プロセスで動作するらしい。

■Activityのスレッド管理
・描画はUIスレッドが行わないといけない。別スレッドとの同期はHandlerかAsyncTaskを使う

■Googleアカウントの情報
・AccountManagerを使う。APIレベルは5(OS2.0以上)。
Permissionは「android.permission.GET_ACCOUNTS」

■SQLiteでオートインクリメントのPrimaryKeyを取得する方法
Insert後に、last_insert_rowid
というかSQLiteStatement#executeInsert()の戻り値にrow_idが入ってた

■日本語化ドキュメント
http://www.techdoctranslator.com/android
ここの人は神だと思う。

■DatabaseHelpe#onCreate
スレッドで平行処理をさせるとテーブル作成中(onCreate中)に処理に入ってしまいテーブルが存在しないというエラーになる。
当たり前の事だが気付くのに時間がかかった。スレッドを使う場合は注意。※dbが存在しないアプリの初回インストール時に発生

■メモリの使用量を確認
adb shell dumpsys meminfo [パッケージ名]

■Proguardでエラー
SDK付属のjarじゃなくて、最新のjarに差し替える。

■Proguardでエラー2
Caused by: Proguard Error 1
'C:Program' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'-jar' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

Android SDKが”Program Files”ディレクトリのようなスペースを含むディレクトリにあるのが問題。
移動するか、 8.3形式のパスを指定する。(8.3形式の表示の仕方は dir /x)