タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

daggerに関するbopperjpのブックマーク (4)

  • Dagger Hilt (DevFest 2020 資料) - Qiita

    DevFestの資料の記事版です。ステップごとにサンプルアプリの差分付きで説明します。 なぜDependency Injectionが必要なのか から始め、Dagger Hiltの説明、実践的なプラクティスまで説明していきます! Dependency Injection(DI)とはなにか なぜDIが必要なのか DI、ちょっと難しいイメージありますが、そもそもなんで必要なんでしょうか? 作っているのが動画再生するアプリでVideoPlayerというクラスがあるとしましょう。 VideoPlayerのクラスの中にデータベースやcodecなどがハードコードされています。 コード: https://github.com/takahirom/hilt-sample-app/commit/8c36602aaa4e27d8f10c81e2808f0ff452f1c8a4#diff-bbc9d28d8bc

    Dagger Hilt (DevFest 2020 資料) - Qiita
  • Dagger2のscopeの使い方を正しく理解する - Qiita

    このpostについて Dagger2には @Singleton を始めとした "scope" というものがあります 下記に1つでも該当する人 (= この前までの自分) は読んでもらえると良いかもです - Dagger2はActivity lifecycleを克服するために有用な手段だと思ってる - @Singleton は、いわゆる getInstance() を用いたstaticなシングルトンを実現するためのアノテーションだと思ってる - Daggerのscopeは、インスタンスのlifecycleをよしなにゴニョゴニョしてくれるmagicであると思ってる Scopeって何なんだろう 例を交えて考えてみます MyViewModel というクラスのinstanceをinjectionするケースを考えます "injectする度にinstanceを生成したくない & 一度作ったものを使いまわし

    Dagger2のscopeの使い方を正しく理解する - Qiita
  • Dagger 2でAndroidのライフサイクルごとのSingletonを実現する - Qiita

    Scoped bindings、またはライフサイクルごとのシングルトン @Singleton 一例としてRetrofitのRestAdapterや得られたClientは(今はキャッシュされているかもですが)生成に時間がかかるので自分でキャッシュしてください、とされていました。DIでこれを実現するには@Singletonを使います。 Dagger 2の場合は、Moduleの@ProvidesメソッドもしくはSingletonにしたいclassの定義と、(Sub)Componentの定義に@Singletonをつけると実現できます。 @Module public class MyApplicationModule { ... @Provides @Singleton ApiClient providesApiClient(RestAdapter restAdapter) { restAdapt

    Dagger 2でAndroidのライフサイクルごとのSingletonを実現する - Qiita
  • とてもつもなくわかりやすいdagger2(2.11)入門 - Qiita

    注意 この記事の内容は3年ほど前に書きました。筆者はもうAndroidから離れており、内容がかなり古くなっています。ご注意ください。 依存注入の考え方 ハト君はandroidプログラマーとして1年と少し。だいぶjavaに慣れてたくさんのプロジェクトを作成していた。しかし、最近彼には悩みがある。テストの重要性はわかってはいるのだが、どうすればテストしやすいプログラムが書けるのかわからない。AndroidSudioでユニットテストするにはとりあえず、MainActivityにすべてを書かず、クラスとして書き出せばいけることは最近気づいた。ただ、例えばこういう他のクラスに依存しているクラスはとてもテストしづらいのだ。 public class CoffeeMaker{ private Heater heater; private Pump pump; CoffeeMaker(){ heater

    とてもつもなくわかりやすいdagger2(2.11)入門 - Qiita
  • 1