Wir laden zukünftige Studenten des Kurses "Android Developer. Professional" ein , die offene Lektion zum Thema "Schreiben eines Gradle-Plugins" zu besuchen.
Wir teilen auch die Übersetzung eines nützlichen Artikels.
Eine einfache Möglichkeit, die Abhängigkeitsinjektion in Android-Apps zu verwenden
Hilt ist eine neue Abhängigkeitsinjektionsbibliothek, die auf Dagger basiert . Damit können Sie die Funktionen von Dagger in Android-Apps auf vereinfachte Weise nutzen. Dieses Tutorial beschreibt die grundlegenden Funktionen der Bibliothek und enthält einige Codefragmente, die Ihnen den Einstieg in die Verwendung von Hilt in Ihren Projekten erleichtern.
Hilt einrichten
Befolgen Sie zum Einrichten von Hilt in Ihrer Anwendung zunächst die Anweisungen aus dem Lernprogramm: Installieren von 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 . . - . - :