android 開発を加速するオープンソースライブラリ
TRANSCRIPT
![Page 1: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/1.jpg)
Android 開発を加速するオープンソースライブラリ2015/11/14 オープンソースカンファレンス 2015 Tokushima
Tokushima.app 辰濱健一
![Page 2: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/2.jpg)
自己紹介 辰濱 健一 徳島県生まれ、徳島県勤務 Android アプリエンジニア
2 年ぐらい前までは iOS / Windows8 ( C# ) もやってました その前は Java, C++ など…
Tokushima.app というスマホアプリ開発の勉強会やってます
![Page 3: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/3.jpg)
Tokushima.app
スマホアプリ開発の勉強会 月1回ぐらいのペースで開催(したい。。。)
辰濱の都合や、会場の都合によって最近はペースダウン中 会場は、 aizyu tokushima basement(徳島市沖浜) 基本もくもく、ときどき発表 参加費無料
![Page 4: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/4.jpg)
想定する読者 Android 開発に携わったことある人 Android 開発に興味を持っている人
![Page 5: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/5.jpg)
Android 開発を加速するオープンソースライブラリ Butter Knife Picasso Retrofit Gson Stetho Realm Stetho – Realm
これらの良さと「ざっくり」とした使い方を紹介します。※ 業務利用の場合、詳細を調査してご利用下さい。
![Page 6: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/6.jpg)
Butter Knife
概要 http://jakewharton.github.io/butterknife/ Square の Jake Wharton さん作
メリット Activity, View の findViewById を楽に書く View の onClickListener などを楽に書く
![Page 7: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/7.jpg)
Butter Knife - Before
ボタンをタップすると、 Snackbar を表示するだけの Activity
![Page 8: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/8.jpg)
Butter Knife - Before
この辺がシンプルに記述できる
![Page 9: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/9.jpg)
Butter Knife – Download
compile 'com.jakewharton:butterknife:7.0.1'
![Page 10: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/10.jpg)
Butter Knife - After
![Page 11: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/11.jpg)
Butter Knife - After
Bind のおまじない
この View 用のonClick ハンドラ
![Page 12: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/12.jpg)
Picasso 概要
http://square.github.io/picasso/ Square の Jake Wharton さん作
メリット 画像の取得・表示を簡単にやってくれる Adapter 内での ImageView のリサイクルやダウンロード処理のキャンセルを自動で実行してくれる 複雑な画像の変形処理を最小のメモリ消費で実現できる 自動でメモリ・ファイルキャッシュをやってくれる
似たライブラリ Glide
![Page 13: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/13.jpg)
Picasso - Download
compile 'com.squareup.picasso:picasso:2.5.2'
![Page 14: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/14.jpg)
Picasso - 使い方
たったこれだけ。しかも、キャッシュされていれば、自動的にキャッシュから取得してくれます。
![Page 15: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/15.jpg)
Retrofit
概要 https://github.com/square/retrofit Square のライブラリ
メリット 通信の記述が簡単になる REST リクエストを飛ばしてレスポンスを得て、 Entity の型へ変換するまでの面倒を見てくれる。
![Page 16: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/16.jpg)
Retrofit - Download
compile 'com.squareup.retrofit:retrofit:1.9.0'
![Page 17: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/17.jpg)
Retrofit – LivedoorWeatherAPI を使う http://weather.livedoor.com/weather_hacks/webservice
![Page 18: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/18.jpg)
Retrofit – LivedoorWeatherAPI を使う
![Page 19: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/19.jpg)
Retrofit – LivedoorWeatherAPI を使う API の Interface 定義を作成
![Page 20: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/20.jpg)
Retrofit – LivedoorWeatherAPI を使う レスポンスモデルを記述
Json からモデルへのマッピングはライブラリ内でやってくれる( Gson など)
![Page 21: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/21.jpg)
Retrofit – LivedoorWeatherAPI を使う 呼び出し
![Page 22: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/22.jpg)
Retrofit – LivedoorWeatherAPI を使う 結果
![Page 23: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/23.jpg)
Gson
概要 https://github.com/google/gson Google のライブラリ
メリット Json とモデルの相互変換をやってくれる
類似ライブラリ JSONIC, JsonPullParser, Jackson
![Page 24: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/24.jpg)
Gson - Download
compile 'com.google.code.gson:gson:2.2.4'
![Page 25: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/25.jpg)
Gson - Before
JSONObject 時代
フィールド数が多いと大変。。。
![Page 26: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/26.jpg)
Gson - After さっきの Location クラス利用
area: 徳島県東部city: 徳島市prefecture: 徳島県{"area":" 徳島県東部 ","city":" 徳島市 ","prefecture":" 徳島県 "}
![Page 27: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/27.jpg)
Stetho
概要 http://facebook.github.io/stetho/ Facebook 製ライブラリ
メリット SharedPreference とか 通信状況とかローカル DB を見れる!
![Page 28: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/28.jpg)
Stetho - Download
compile 'com.facebook.stetho:stetho:1.2.0'
![Page 29: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/29.jpg)
Stetho - Setup
![Page 30: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/30.jpg)
Stetho - View
Chrome で chrome://inspect/#devices を開く
![Page 31: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/31.jpg)
Stetho - View
Chrome で chrome://inspect/#devices を開く
![Page 32: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/32.jpg)
Stetho - View SharedPreference の値を確認できる!
![Page 33: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/33.jpg)
Stetho – 通信を見る 先ほどの LivedoorWeather の通信を見る Download
compile 'com.squareup.okhttp:okhttp:2.4.0’ Retrofit の Client を OkHttp にするために記述
compile ‘com.facebook.stetho:stetho-okhttp:1.1.1’ Stetho と OkHttp の連携のために記述
![Page 34: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/34.jpg)
Stetho – 通信を見るこれだけ追加
![Page 35: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/35.jpg)
Stetho – 通信を見る
レスポンスの json を見ることができて便利!
![Page 36: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/36.jpg)
Stetho – Picasso 連携 さっきのサンプルに追加
![Page 37: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/37.jpg)
Stetho – Picasso 連携
便利!
![Page 38: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/38.jpg)
Stetho – Picasso 連携
総じて便利
![Page 39: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/39.jpg)
Realm
概要 https://realm.io/jp/ モバイル向けの次世代 DB
メリット 簡単 速い 日本語サポート!
![Page 40: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/40.jpg)
Realm - Download
compile 'io.realm:realm-android:0.84.1'
![Page 41: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/41.jpg)
Realm - Model
![Page 42: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/42.jpg)
Realm - Use
![Page 43: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/43.jpg)
続きは 14:00 〜 中の人に!!
![Page 44: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/44.jpg)
Stetho-Realm
概要 https://github.com/uPhyca/stetho-realm uPhyca の @zaki50 さんが開発
メリット 名の通り、 Stetho で Realm の内容を見ることができる
![Page 45: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/45.jpg)
Stetho-Realm - Download
![Page 46: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/46.jpg)
Stetho-Realm - Setup
![Page 47: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/47.jpg)
Stetho-Realm View
![Page 48: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/48.jpg)
使えるライブラリを使って、アプリを楽に・速く開発しよう!
![Page 49: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/49.jpg)
ご静聴ありがとうございました!
![Page 50: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/50.jpg)
質疑応答
![Page 51: Android 開発を加速するオープンソースライブラリ](https://reader030.vdocuments.site/reader030/viewer/2022021507/58ef3d5a1a28ab267d8b4567/html5/thumbnails/51.jpg)
実演…!?(残り時間次第)