Invitamos a los futuros alumnos del curso "Desarrollador de Android. Profesional" a visitar la lección abierta sobre el tema "Cómo escribir un complemento de Gradle".
También compartimos la traducción de un artículo útil.
Una forma sencilla de utilizar la inyección de dependencias en aplicaciones de Android
Hilt es una nueva biblioteca de inyección de dependencias construida sobre Dagger . Le permite usar las capacidades de Dagger en aplicaciones de Android de una manera simplificada. Este tutorial describe la funcionalidad básica de la biblioteca y proporciona algunos fragmentos de código para ayudarlo a comenzar a usar Hilt en sus proyectos.
Configuración de Hilt
Para configurar Hilt en su aplicación, primero siga las instrucciones del tutorial: Instalación 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 . . - . - :