Weitere ähnliche Inhalte
Ähnlich wie 20151213 tokushimaapp (20)
20151213 tokushimaapp
- 2. はじめに
• Tokushima.app 初の試みで、ハンズオンやります。
• 作るモノは、簡単な通貨計算アプリ
• ソースコードは下記で公開済み
• https://github.com/tatsuhama/CurrencyConverterAndroid
• 色んなライブラリを使う練習です
• デザイン的な事は気にしていません。
• ※後半は中・上級者向け内容になってしまいました。。。
- 3. 進め方
• Android Studio でイチから作るも可
• Github 上の各コミットを見て打ったりコピペしたりする
• Github から clone して進める
• SourceTree を使うと、わかりやすいです
- 5. 使うライブラリ
• ButterKnife : http://jakewharton.github.io/butterknife/
• Retrofit : http://square.github.io/retrofit/
• OkHttp : http://square.github.io/okhttp/
• RxAndroid : https://github.com/ReactiveX/RxAndroid
• Realm : https://realm.io/jp/
• Stetho : http://facebook.github.io/stetho/
• Stetho-OkHttp : https://github.com/facebook/stetho/tree/master/stetho-
okhttp
• Stetho-Realm : https://github.com/uPhyca/stetho-realm
• Retrolambda : https://github.com/orfjackal/retrolambda
- 11. Git から clone する人向け準備
• clone する(どちらかの方法)
• ターミナルで
• git clone git@github.com:tatsuhama/CurrencyConverterAndroid.git
• SourceTree で
• ???
• Android Studio で開く
• File – open
• CurrencyConverterAndroid/build.gradle を開く
- 16. View との関連づけ
• xml で定義した View とコードを関連づける
• 変数へのマッピング
• onClick イベントのハンドリング
• 確認のためにトーストを出してみる
• ButterKnife を使って記述する
- 25. 通貨選択処理
• ListView に OnItemClickListener を設定する
• onItemClick で
• 呼び出し元画面に選択結果を送る
• Intent の Bundle にデータを積んで setResult する
• 通貨選択画面を閉じる
• finish() 呼び出し
- 32. API から取得した値を使って、計算結果
を表示
• HashMap<String, String> から欲しい値を取得
• “API_URL”: http://api.aoikujira.com/kawase/
• “basecode”: “USD”
• “result”: “ok”
• “update”: “2015-12-13 04:14:59”
• “JPY”: “120.92791”
• “ARS”: “9.76907”
• “AUD”: “1.39131”
• String → Double の変換をして計算する
- 44. 通信結果を Realm にキャッシュ
• 今は、計算する度に通信を実行している
• 100円 → ???$、1,000円 → ???$
• そんなに為替計数が頻繁に変わるわけじゃないので、不要な通
信をさせないために、前回の通信結果を DB に保存
• 比較的最近(サンプルでは10分)前の結果があれば利用して不
要な通信をしないようにした
- 45. 通信結果を Realm にキャッシュ
• https://github.com/tatsuhama/CurrencyConverterAndroid/commit/ef
a9ee895108cf97a00d918fe8b41267df9f2ca8
• https://github.com/tatsuhama/CurrencyConverterAndroid/commit/ff
43caac690c98490aba2326f38aecd1dd008a2a
参照
• 注意:Relam の最新版は 0.86 ですが、後に使う Stetho-Realm と
の相性問題のために 0.85.1 を使用する
- 48. Stetho-Realm で Realm のテーブルを見る
• https://github.com/tatsuhama/CurrencyConverterAndroid/commit/ef
a9ee895108cf97a00d918fe8b41267df9f2ca8
参照
- 50. 余談
• Realm 0.86 & Stetho-Realm だと、Stetho でテーブルを開こうとす
るとクラッシュ
• 原因は、Realm 0.86 で大きな内部変更が入り、Stetho-Realm が
それに追従できていないんだとか。。。