Androidパート2の「依存性注入の新しい方法」を活用する

このブログは、前の投稿パート1の続きです

コード(アプリの動作中)パート3に直接連れて行ってください

このパートでは、DaggerHILTを使用して簡単なアプリを作成する方法を説明します。

コードに飛び込む(HILTを使用)

まあ、ほとんどの場合、クラスの依存関係を別のクラスに使用し、緊密な結合を作成する場合に実行するタスクです。

簡単な答えは次のとおりです。API呼び出しを行おうとすると、OkHttp、Gson、Retrofit Serviceの順に多くの参照を作成し、多くの依存関係を作成した後、呼び出しを行います:)

このアプローチを採用して、HILTがどのように役立つかを見てみましょう。

モジュールとコンポーネントについて聞いたDagger2と、それらのそれぞれを作成するための多くのコードを使用したことがある場合:)Hiltはそれらすべてを克服するのに役立ちます。

つまり、最初のポイントは、アプリでHILTを使用できるようにする方法です。したがって、 @HiltAndroidApp アノテーション をApplicationクラスに追加してこれを実行しましょう。

このアノテーションをApplicationクラスに追加することが開始点になります。これで、アプリでモジュールを作成してAppComponentに挿入する準備が整いました。

Dagger2を使用している間、メインクラス、つまりAppComponentを作成し、すべてのモジュールを手動でこのAppComponentに含めていました。このようなもの

次に、これをApplicationクラスのonCreate()メソッドに挿入していました。

しかし、HILTを使用すると、これはもう必要ありません。

HILTはデフォルトで ApplicationComponent を提供するためです。

したがって、依存関係モジュールを作成するだけで、この提供された ApplicationComponent クラスに直接注入できます。

依存関係モジュールを作成し、HILTのデフォルトのApplicationComponentに追加する方法は?

では、ネットワーキングの呼び出しシナリオを続行してみましょう。次のような モジュール を作成できます。たとえば、let&#x27 ; s NetworkModule を作成します。ここで、 Retrofit を使用してAPI呼び出しを行うためのすべての依存関係を定義します。

このように、任意の依存関係を持つ任意のモジュールを作成できます。

これで基本的にはこれで、HILTがDagger2に対してどれだけ役立つかを確認して理解できるようになりました。

HILTにはAndroidJetpackコンポーネントとの互換性もあります。

ViewModelsでHiltを使用します。これらの依存関係を使用できます。

これらの依存関係を追加した後、Gradleファイルを同期してプロジェクトをビルドします。

次に、 HILT を使用してViewModelを作成し、アクティビティで使用する方法を説明します。

ビューモデルのコンストラクターを作成するときに @ViewModelInject アノテーションを使用できます。このアノテーションはインスタンスを提供し、依存関係グラフビューに追加します。

そして、以下のようにビュー(アクティビティ/フラグメント)内で使用できます:

まず、 @AndroidEntryPoint アノテーションを追加します このアノテーションを追加してすべてのユーザーにアクセスできるようにする必要があります HILTを使用して作成されたDIグラフからの依存関係。

これは、コードベースを非常に単純にするためにDagger2上でHILTを使用するために従うことができるいくつかの簡単な手順です:)

次のパートでは、HiltDIを使用した実際のアプリを1つ紹介します。

次のパート—アプリの動作パート3

このヒット拍手が好きなら。ハッピーコーディング。