Nous invitons les futurs étudiants du cours "Développeur Android. Professionnel" à visiter la leçon ouverte sur le thème "Rédaction d'un plugin Gradle"
Nous partageons également la traduction d'un article utile.
Un moyen simple d'utiliser l'injection de dépendances dans les applications Android
Hilt est une nouvelle bibliothèque d'injection de dépendances construite sur Dagger . Il vous permet d'utiliser les capacités de Dagger dans les applications Android de manière simplifiée. Ce didacticiel décrit les fonctionnalités de base de la bibliothèque et fournit des extraits de code pour vous aider à utiliser Hilt dans vos projets.
Installation de Hilt
Pour configurer Hilt dans votre application, suivez d'abord les instructions du didacticiel: Installation de Gradle Build .
, Hilt, Application @HiltAndroidApp.
, Hilt .
, , , :
, , .
, .
: .
Hilt , Hilt . .
Hilt.
@Inject
@Binds
@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.
⮕ 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"
OTUS . . - . - :