あんどろアプリ作成備忘録
ドミニオン用ランダマイザーを作った。のでまとめ
- 開発環境
- http://gihyo.jp/dev/serial/01/androidapp
- http://www.adakoda.com/android/
- このへん見ながら構築。SDKとワークスペースはDドライブ直下にした
- unknown virtual device nameとか言われてエミュレータが起動できない
- MyDocumentをデフォルト以外にしているとエミュレータの起動パスと実体のパスがずれる?詳しくはぐぐれ
- 実機があればそれでいいじゃん説
- 基本的なこと
- インテントにオブジェクトを詰めて受け渡したい
- 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を取得したい
- this.getResources().getXmlでXMLパーサー取得。next呼ぶごとに1タグ/タグ間テキストを読み出すのでよしなに。
- http://www.adakoda.com/adakoda/2009/01/android-xmlpullparserxml.html このへん参照
- アイコン変えたい
- res/drawable-xxxxに同じ名前で放り込むと状況に合わせたやつを使ってくれる。メニュー用のなんかもここに置いてリフレッシュ→Rからid取得
- あとなんか