Один из вариантов - использовать внедрение зависимостей. Используя библиотеку Koin DI , это будет выглядеть так:
class YourApplication : Application() {
override fun onCreate() {
super.onCreate()
// Initialize DI instance from which you will request application context
startKoin {
androidContext(this@YourApplication)
}
}
Позже, чтобы получить Application
контекст или просто Context
, вы можете использовать KoinContextHandler
:
val koin = KoinContextHandler.get()
val application = koin.get<Application>()
val context = koin.get<Context>()
Вам необходимо добавить эти зависимости к вам build.gradle
файлам в модуле приложения и еще одному модулю, который вы используете для его работы:
dependencies {
...
def koin_version = '2.1.5'
implementation "org.koin:koin-core:$koin_version"
implementation "org.koin:koin-android:$koin_version"
}