android 開発を加速するオープンソースライブラリ

51
Android 開開開開開開開 開開開開開開開開開開開開 2015/11/14 開開開開開開開開開開開開開開 2015 Tokushima Tokushima.app 開開開

Upload: kenichi-tatsuhama

Post on 13-Apr-2017

5.628 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Android 開発を加速するオープンソースライブラリ

Android 開発を加速するオープンソースライブラリ2015/11/14  オープンソースカンファレンス 2015 Tokushima

Tokushima.app 辰濱健一

Page 2: Android 開発を加速するオープンソースライブラリ

自己紹介 辰濱 健一 徳島県生まれ、徳島県勤務 Android アプリエンジニア

2 年ぐらい前までは iOS / Windows8 ( C# ) もやってました その前は Java, C++ など…

Tokushima.app というスマホアプリ開発の勉強会やってます

Page 3: Android 開発を加速するオープンソースライブラリ

Tokushima.app

スマホアプリ開発の勉強会 月1回ぐらいのペースで開催(したい。。。)

辰濱の都合や、会場の都合によって最近はペースダウン中 会場は、 aizyu tokushima basement(徳島市沖浜) 基本もくもく、ときどき発表 参加費無料

Page 4: Android 開発を加速するオープンソースライブラリ

想定する読者 Android 開発に携わったことある人 Android 開発に興味を持っている人

Page 5: Android 開発を加速するオープンソースライブラリ

Android 開発を加速するオープンソースライブラリ Butter Knife Picasso Retrofit Gson Stetho Realm Stetho – Realm

これらの良さと「ざっくり」とした使い方を紹介します。※ 業務利用の場合、詳細を調査してご利用下さい。

Page 6: Android 開発を加速するオープンソースライブラリ

Butter Knife

概要 http://jakewharton.github.io/butterknife/ Square の Jake Wharton さん作

メリット Activity, View の findViewById を楽に書く View の onClickListener などを楽に書く

Page 7: Android 開発を加速するオープンソースライブラリ

Butter Knife - Before

ボタンをタップすると、 Snackbar を表示するだけの Activity

Page 8: Android 開発を加速するオープンソースライブラリ

Butter Knife - Before

この辺がシンプルに記述できる

Page 9: Android 開発を加速するオープンソースライブラリ

Butter Knife – Download

compile 'com.jakewharton:butterknife:7.0.1'

Page 10: Android 開発を加速するオープンソースライブラリ

Butter Knife - After

Page 11: Android 開発を加速するオープンソースライブラリ

Butter Knife - After

Bind のおまじない

この View 用のonClick ハンドラ

Page 12: Android 開発を加速するオープンソースライブラリ

Picasso 概要

http://square.github.io/picasso/ Square の Jake Wharton さん作

メリット 画像の取得・表示を簡単にやってくれる Adapter 内での ImageView のリサイクルやダウンロード処理のキャンセルを自動で実行してくれる 複雑な画像の変形処理を最小のメモリ消費で実現できる 自動でメモリ・ファイルキャッシュをやってくれる

似たライブラリ Glide

Page 13: Android 開発を加速するオープンソースライブラリ

Picasso - Download

compile 'com.squareup.picasso:picasso:2.5.2'

Page 14: Android 開発を加速するオープンソースライブラリ

Picasso - 使い方

たったこれだけ。しかも、キャッシュされていれば、自動的にキャッシュから取得してくれます。

Page 15: Android 開発を加速するオープンソースライブラリ

Retrofit

概要 https://github.com/square/retrofit Square のライブラリ

メリット 通信の記述が簡単になる REST リクエストを飛ばしてレスポンスを得て、 Entity の型へ変換するまでの面倒を見てくれる。

Page 16: Android 開発を加速するオープンソースライブラリ

Retrofit - Download

compile 'com.squareup.retrofit:retrofit:1.9.0'

Page 17: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う http://weather.livedoor.com/weather_hacks/webservice

Page 18: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う

Page 19: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う API の Interface 定義を作成

Page 20: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う レスポンスモデルを記述

Json からモデルへのマッピングはライブラリ内でやってくれる( Gson など)

Page 21: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う 呼び出し

Page 22: Android 開発を加速するオープンソースライブラリ

Retrofit – LivedoorWeatherAPI を使う 結果

Page 23: Android 開発を加速するオープンソースライブラリ

Gson

概要 https://github.com/google/gson Google のライブラリ

メリット Json とモデルの相互変換をやってくれる

類似ライブラリ JSONIC, JsonPullParser, Jackson

Page 24: Android 開発を加速するオープンソースライブラリ

Gson - Download

compile 'com.google.code.gson:gson:2.2.4'

Page 25: Android 開発を加速するオープンソースライブラリ

Gson - Before

JSONObject 時代

フィールド数が多いと大変。。。

Page 26: Android 開発を加速するオープンソースライブラリ

Gson - After さっきの Location クラス利用

area: 徳島県東部city: 徳島市prefecture: 徳島県{"area":" 徳島県東部 ","city":" 徳島市 ","prefecture":" 徳島県 "}

Page 27: Android 開発を加速するオープンソースライブラリ

Stetho

概要 http://facebook.github.io/stetho/ Facebook 製ライブラリ

メリット SharedPreference とか 通信状況とかローカル DB を見れる!

Page 28: Android 開発を加速するオープンソースライブラリ

Stetho - Download

compile 'com.facebook.stetho:stetho:1.2.0'

Page 29: Android 開発を加速するオープンソースライブラリ

Stetho - Setup

Page 30: Android 開発を加速するオープンソースライブラリ

Stetho - View

Chrome で chrome://inspect/#devices を開く

Page 31: Android 開発を加速するオープンソースライブラリ

Stetho - View

Chrome で chrome://inspect/#devices を開く

Page 32: Android 開発を加速するオープンソースライブラリ

Stetho - View SharedPreference の値を確認できる!

Page 33: Android 開発を加速するオープンソースライブラリ

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 開発を加速するオープンソースライブラリ

Stetho – 通信を見るこれだけ追加

Page 35: Android 開発を加速するオープンソースライブラリ

Stetho – 通信を見る

レスポンスの json を見ることができて便利!

Page 36: Android 開発を加速するオープンソースライブラリ

Stetho – Picasso 連携 さっきのサンプルに追加

Page 37: Android 開発を加速するオープンソースライブラリ

Stetho – Picasso 連携

便利!

Page 38: Android 開発を加速するオープンソースライブラリ

Stetho – Picasso 連携

総じて便利

Page 39: Android 開発を加速するオープンソースライブラリ

Realm

概要 https://realm.io/jp/ モバイル向けの次世代 DB

メリット 簡単 速い 日本語サポート!

Page 40: Android 開発を加速するオープンソースライブラリ

Realm - Download

compile 'io.realm:realm-android:0.84.1'

Page 41: Android 開発を加速するオープンソースライブラリ

Realm - Model

Page 42: Android 開発を加速するオープンソースライブラリ

Realm - Use

Page 43: Android 開発を加速するオープンソースライブラリ

続きは 14:00 〜 中の人に!!

Page 44: Android 開発を加速するオープンソースライブラリ

Stetho-Realm

概要 https://github.com/uPhyca/stetho-realm uPhyca の @zaki50 さんが開発

メリット 名の通り、 Stetho で Realm の内容を見ることができる

Page 45: Android 開発を加速するオープンソースライブラリ

Stetho-Realm - Download

Page 46: Android 開発を加速するオープンソースライブラリ

Stetho-Realm - Setup

Page 47: Android 開発を加速するオープンソースライブラリ

Stetho-Realm View

Page 48: Android 開発を加速するオープンソースライブラリ

使えるライブラリを使って、アプリを楽に・速く開発しよう!

Page 49: Android 開発を加速するオープンソースライブラリ

ご静聴ありがとうございました!

Page 50: Android 開発を加速するオープンソースライブラリ

質疑応答

Page 51: Android 開発を加速するオープンソースライブラリ

実演…!?(残り時間次第)