あんどろアプリ作成備忘録

ドミニオン用ランダマイザーを作った。のでまとめ

  • 開発環境
  • 基本的なこと
  • インテントにオブジェクトを詰めて受け渡したい
    • SerializableインタフェースありのオブジェクトならputExtraで詰めてgetSerializableExtraで取り出せる。ArrayListは中をぜんぶSerializableにすればいける。
    • 取り出すときのキャストで警告が出る
      • @SuppressWarnings("unchecked")を追加。メソッド単位か変数初期化時にしか書けないっぽい
  • イベントリスナーとか引数で来ない状況(呼び出し元のさらに元とか)がとれない!
    • Activityのメンバ変数につんどく
  • 単一Stringだけじゃないオブジェクトの配列をListViewに展開したい
    • ArrayAdapterとかを継承してオリジナルのアダプタを作る。getViewをオーバーライドして持ってるオブジェクトをviewにどうやって展開するか定義する。viewは引数で来なかった場合のみinflateとかで作ること
  • ListViewにバインドしてるデータを更新しても内容が変わらない
    • notifyDataSetChanged()を呼ぶ
  • 画面を横倒しにしたらデータが全部リセットされた
    • 画面構造とかが変更されるとActivityの再起動(インスタンス破棄→再構築)がされる。onSaveInstanceStateをオーバーライドしてBundleに必要なデータを積んでおき、onCreateかonRestoreInstanceStateで再構築する。
  • リソースの文字列を直接使いたい
    • this.getResources().getString(id)で展開。
  • リソースのXMLを取得したい
  • アイコン変えたい
    • res/drawable-xxxxに同じ名前で放り込むと状況に合わせたやつを使ってくれる。メニュー用のなんかもここに置いてリフレッシュ→Rからid取得
  • あとなんか
    • アンドロイドマーケットから全世界へ放流する?
    • メモリリークしてる?
      • バックキーで終了後もタスク管理ソフトから見える。しばらくすると消える。同様の挙動のアプリもそこそこあるようなのであまり気にしなくていいかも。スパっと消えるやつはonDestroyでなんかやってるんだろうか。