Convidamos futuros alunos do curso "Desenvolvedor Android. Profissional" a visitar a lição aberta sobre o tópico "Escrevendo um plugin do Gradle"
Também compartilhamos a tradução de um artigo útil.
Uma maneira fácil de usar injeção de dependência em aplicativos Android
Hilt é uma nova biblioteca de injeção de dependência construída sobre Dagger . Ele permite que você use os recursos de Dagger em aplicativos Android de uma forma simplificada. Este tutorial descreve a funcionalidade básica da biblioteca e fornece alguns trechos de código para ajudá-lo a começar a usar o Hilt em seus projetos.
Configurando Hilt
Para configurar o Hilt em seu aplicativo, primeiro siga as instruções do tutorial: Instalando o 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.
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 . . - . - :
