More Related Content
Similar to Androidアプリ開発にクリーンアーキテクチャを取り入れよう(OSS編) (20)
Androidアプリ開発にクリーンアーキテクチャを取り入れよう(OSS編)
- 3. Day1 Keynote in DroidKaigi 2016
これ見てくれたら、今日は話すことなし。
「OSSの動向を捉えた実装方針」
https://speakerdeck.com/wasabeef/day1-keynote-
in-droidkaigi-2016
でも、お仕事します。
クリーンアーキテクチャを支える
OSSのご紹介
- 4. 開発環境
Android Studio
Eclipse+ADTはオワコン
新しいSDKを使うなら、Android Studioを選択。
Gradle※(build tool)でOSSを簡単にインポート。
※グラドルではないよ。グレイドル
Retrolambda(レトロラムダ)
Android Studioなら、SAM(Single Abstract Method)型はlambdaで書けるけど、
Retrolambda(backport tool)を使うとJava8のlambdaで書ける。
SAM型なら、こんなに簡単に書ける。
before:
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { … }
}
after:
button.setOnClickListener(v -> { … });
- 5. Binding/DI
ButterKnife – Jake Wharton
面倒なfindViewById()のボイラープレートを抹殺
@Bind(R.id.button) Button button
リスナーもbindできるよ。
@OnClick(R.id.submit) public void submit(View view)
Dagger2 – Google/Square
Component/Module単位にDIできる。
使ってみたけど正直、難解
バターナイフではケガしないが、短剣は危険(笑)
- 7. Reactive eXtentions/Promise
RxJava/RxAndroid/RxBinding
Rxbinding – Jake Wharton
TextViewの入力文字列を文字列があるかどうかの真偽値に変換(map)して、
サーチボタンを活性・不活性する。
@Bind(R.id.text) TextView textView;
@Bind(R.id.search) Button search;
RxTextView.textChanges(textView)
.map(text -> text.length() > 0)
.subscribe(enabled -> search.setEnabled(enabled))
jdeferred/android-promise
まだ、使ったことないけど、試してみるか。