Panduan praktis untuk menggunakan Hilt dengan Kotlin

Kami mengundang calon siswa dalam kursus "Pengembang Android. Profesional" untuk mengunjungi pelajaran terbuka dengan topik "Menulis Plugin Gradle"







Kami juga membagikan terjemahan artikel yang bermanfaat.






Cara mudah untuk menggunakan injeksi ketergantungan di aplikasi Android

Hilt  adalah pustaka injeksi ketergantungan baru yang dibangun di atas  Dagger . Ini memungkinkan Anda untuk menggunakan kemampuan Dagger di aplikasi Android dengan cara yang disederhanakan. Tutorial ini menjelaskan fungsi dasar pustaka dan memberikan beberapa cuplikan kode untuk membantu Anda mulai menggunakan Hilt dalam proyek Anda.





Menyiapkan Hilt

Untuk menyiapkan Hilt di aplikasi Anda, pertama-tama ikuti petunjuk dari tutorial: Menginstal Gradle Build .





, 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