www.slideshare.net
AP 1: 古い本買う
- 開発環境が古い
- プラグインのサポートが終了している
- android: java -> jarをクラスパスに放り込む
- jarにリソースを入れたい、入らない
- aarができる (.zipにすると見られる)
- eclipse/ADTでは使えない
- 開発環境はandroid studio
androidを知る1: Activity
- 開発者はactivityを継承したクラスを定義していく
- OSからいろいろな情報を受け取る: 画面の回転など
AP 2: 画面回転 -> android:configChanges
configChanges()
は使わない
AP 3: 画面進む -> 戻るでたまに落ちる
- activityの復元を考えていない
onSaveInstanceState()
で保存onCreate()
で復元onRestoreInstanceState()
だとうまくいかない- OSが破棄するタイミングがマチマチ
- 動作確認時は開発者向けオプション「アクティビティを保持しない」を設定する
AP 4: アクセストークン -> static変数に入れる…?
- サードパーティでもやらかしてるのがある
- Androidのプロセス: プロセスでJava (Dalvik) VM が起動する
- 1 app: 1 proc
- activityはいろんなappで起動、static変数はプロセス単位で持つ
- 別アプリから呼ばれなくても…?
- static変数: プロセス止まると消える
- プロセスはいきなり止まる: activityの中断中 (backgroundにいる時) 止められることがある
- PC appは最小化してもプロセスは死なない
- でもちゃんと再開できる、がstatic変数は揮発
- プロセスはいきなり止まる: activityの中断中 (backgroundにいる時) 止められることがある
- 永続化or状態をactivityに持たせる
- 動作確認?
- 開発者オプション「バックグラウンドプロセスを使用しない」
AP 5: UIをfragmentで -> 2つある -> android.app.Fragment
を使う
- Fragment?
- viewの生成と管理
- activityはUIを提供するがOSとのやりとりがあったりして大変
- activityに全部やらせると破綻する
- 3.0からFragmentがviewの生成と管理をactivityから引き剥がした
android.app.Fragment
- プラットフォームで提供
- OSバージョンに縛られる
android.support.v4.app.Fragment
- サポートライブラリで提供
- v4: api Lvのこと (ただしLv14?)
- 更新すれば新しい機能が使える
- サポートライブラリ版を使いましょう
AP 6: 呼び出し元に処理結果を伝える実装をfragmentで
- fragment処理をinterface経由?で渡す
- NextFragment表示中に中断すると->callbackオブジェクトは復元できない
- bundleに放り込めるのはprimitiveと放り込める条件を満たすオブジェクト
setTargetFragment()
でfragment間の値を渡せるgetTargetFragment()
で呼び出し元を取得Fragment::onActivityResult
を使ってなんたら