Android開発実装編メモ

色々すぐ忘れることをかいておく。

ログ

出力されたログはタグでフィルタをかける。

Log.d("タグ", "ほげほげ"+str);

ので、タグはどっかに定数で定義する

eclipseではLogCatビューでログをみることができる。タグのフィルタは、緑のプラスボタンをおして名前とログタグを指定する。
ログが表示されない、LogCatにログがでてこない場合は、DDMSパースペクティブに切り換え、Devicesで実行中のエミュレータを選択した状態にしてみる。(これに気づいたときのショックはおおきい)

エミュレータ

最初の起動がすごく遅いので、一服する前に起動するとよい。(解像度が大きいほど遅い気がする)
つーかeclipse起動したらまず起動しとけっつー話?

日時や言語の設定は注意
設定→日付と時刻:自動のチェックをはずす。「タイムゾーン」を日本にする。
設定→地域・言語:日本語を選択する。文字入力設定は、Japanese IME だけチェックする。


アプリケーションをアンインストールするには、エミュレータの「設定→アプリケーション→アプリケーションの管理」から行う。DB(SQLiteOpenHelper)を使うアプリの場合、呼び出しの時点でDBが作成されるので、開発の初期の段階では、アプリケーションごと削除するとDBの作り直しが早い。


アプリでメールを送信する場合、メールの設定を先にしておく。


480*800でそのまま起動すると、モニタからはみ出すので小さくして起動する。
ADBマネージャーから「Start」の「Launch Options」の「Sacle display to real size」のチェックし、Screen Sizeの値をかえると、Scaleの値が変わるので適当な値にしてみる。

Androidの画面のデフォルトの色調は、背景が黒で、文字が白。デフォルトのボタンは灰色に黒っぽい字。
背景を変えるときは、ボタンのデザインなどたくさん作業が発生するので覚悟がいる。

アイコンとか

作る場合は、512*512で作る。(申請時に要るから)
これらを72とか48に縮小する。
2011/11 時点ではもはやhdpiが主流ぽい。
11/28 追記 512を72と48とかにきれいに縮小できる方法は全然わかっていない。

データベース

DBのintegerのプライマリーキーを作るときは、カラム名は「_id」にしておく。色々便利らしい。

DBに日付型はない。integerでやる。

プログラミング

  • Activityを追加したら、AndroidManifest.xmlに追加する。よく忘れる。インターネットへの接続やSDカードへの書き込みはパーミッションをAndroidManifest.xmlに定義する。翌忘れる
  • Activityが動く最初はonCreateだけど、画面に来たとき動くのはonResume(初期化処理とか書く場所に注意)
  • layoutのxmlで定義するidは全体でユニークにする
  • イベントハンドラ(リスナー)的なやつの名前は似ているので注意。 onItemSelectedListener と onItemClickListenerとか。 リスナーを設定したのに反応ないなー、とかはまる
  • Activity間でオブジェクトを渡すには、そのオブジェクトをシリアル化しておく。IntentのputExtraでいれる。IntentのgetSerializableExtraで取り出す。
  • ListViewでは、リストからgetと、リストビューからgetPositionなのか、区別する。
  • 日付ピッカーも時刻ピッカーもあるが、日付と時刻のピッカーはない。
  • 時間がかかる処理は、AsyncTaskとかProgressDialogで検索して実装。やることはそんなにむずかしくないので、読み込み作業は基本使う。