Android Programming
ベストプラクティス
- Spring for Android を利用することで REST クライアントは容易に実装できる
- MVC or MVVM フレームワークは不要
- Android の Activity(各画面) はライフサイクルが Android SDK できっちり制御されている
- View は res/layout で分離されている
- よって、MVC や MVVM フレームワークは別途用意しなくても良い
- もっと言うと用意しちゃいけない
- (まだベストか分かんない)双方向データバインディング
- 「MVC or MVVM フレームワークは不要」と書いたが、双方向データバインディングは使用したい
- そこで Android Binding というものがあるが、まだこなれていないかな?
用語
Activity
- Androidアプリケーションの画面と考えて良い
- Activityに画面構成要素を並べる

Intent
- 外部Activity(アプリケーション)との連携で使用するイベント(NSNotificationにも似ている)のようなもの。
- 明示的Intentと暗黙的Intentの2種類がある。
* Activityを指定して起動
* 暗黙的Intent
* Activityを指定せずに起動する
* Activityを推測できるようIntentFilterを指定できる
* 該当するActivityが複数ある場合はダイアログでユーザに選択させる(やったことあるでしょ?)
永続化
- File
- Assets経由でファイルディスクリプタを生成してJavaのBufferedReader,BufferedWriterを使うのかな?
- DB
- REST
- Framework
- HTTPClient
- org.apache.http.client.HttpClient
- JSON
デバイスの使用
- Webページの表示(WebView)
- 音声認識によるコマンド入力(RecognizerIntent)
- 画像認証による認証(SurfaceView)
- 録画データのサーバへの保存(SurfaceView)