KotlinでHiltを使用するための実用的なガイド

コース「AndroidDeveloper。Professional」の将来の学生を、トピック「Writing aGradlePlugin」に関するオープンレッスンに招待します







また、役立つ記事の翻訳も共有しています。






Androidアプリで依存関係インジェクションを使用する簡単な方法

Hilt は、 Daggerの上に構築された新しい依存関係インジェクションライブラリ です。これにより、AndroidアプリでDaggerの機能を簡単に使用できます。このチュートリアルでは、ライブラリの基本的な機能について説明し、プロジェクトでHiltの使用を開始するのに役立ついくつかのコードスニペットを提供します。





Hiltの設定

アプリケーションでHiltを設定するには、最初にガイドの指示に従ってください:GradleBuildのインストール





, Hilt,  Application  @HiltAndroidApp.



, Hilt .





, , , :





  1. , , .





  2. , .





: .





Hilt , Hilt .  .





Hilt.





  1.  @Inject







  2.  @Binds



     





  3.  @Provides



     





⮕   @Inject







 @Inject



, .





⮕ 





Hilt .





Hilt  «», Hilt, , , — , .





, . , -.





  Hilt,  @InstallIn



. .





1:  @Binds,





 OatMilk,  Milk,  @Binds



. , , OatMilk .  @Inject



.





2: -  @Provides







, .  — -, .





,  ConnectivityManager, .





 Context  ,  @ApplicationContext



  @ActivityContext



.





, Hilt .

















@Inject



, Hilt , .









,  @AndroidEntryPoint



( ), ,  @Inject



.





,  @Inject



,  . lateinit, ,  null



.





, , ,  Activity



. .





, ,    , ? ,    , , . , Android, Hilt.





    Hilt, Hilt , , .





⮕ Android





  Android:





  • Activity





  • Fragment





  • View





  • Service





  • BroadcastReceiver





,  @AndroidEntryPoint



.









Android, , Dagger, Android, Hilt, Hilt . .





ViewModel

ViewModel — : , , Android.  ViewModel



 @ViewModelInject



, Hilt ,  by viewModels()



. ,  @Inject



  .





, ViewModel



,  SavedStateHandle  ,  @Assisted



.





 @ViewModelInject



, . . : Hilt Jetpack.





  Hilt,  @InstallIn



(<>). . , @InstallIn



(ServiceComponent.class



) , , .





, , . …





. , ,  Milk,  OatMilk.  @ActivityScoped



ActivityComponent



.





, , Hilt  OatMilk  . ,  OatMilk   —  onCreate()



   onDestroy()



 .





 milk,  moreMilk   OatMilk. ,  LatteActivity,  OatMilk.





, , , ,  OatMilk:





, . , @ActivityScoped



  , ,  ActivityComponent



.





:  Milk,  Fridge  LatteActivity, ,  onCreate()



   LatteActivity, —  onDestroy()



. ,  Milk  «» ,  onDestroy()



  . ,  @ActivityRetainedScope



.





, , , , , :  Hilt.





. , , - , , -.  dagger.Provider.





, . , ,  Provider<…>



, .





( Dagger  Guice) , . Hilt, , Dagger , , .





Hilt , , ,   -, .






"Android Developer. Professional"









" Gradle Plugin"






 OTUS   . . -    .   - :












All Articles