我正在使用koin学习kotlin。在目录日志中运行该应用程序时,我看到以下消息。
java.lang.IllegalStateException:KoinApplication尚未启动
尽管我在MyApplication中使用了 startKoin
class MyApplication : Application() {
var listOfModules = module {
single { GitHubServiceApi() }
}
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@MyApplication)
modules(listOfModules)
}
}
}
我发现了我做错了的问题,我想在mainfest.xml中添加MyApplcation名称
最佳答案
在 list 文件中添加“android:name =”。TheApplication“即可解决此问题。
android:name=".TheApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_app_icon_round"
android:supportsRtl="true"
android:theme="@style/Theme.Shrine">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
“android:name =“。TheApplication”是Koin的类名class TheApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
startKoin {
androidLogger()
androidContext(androidContext = this@TheApplication)
modules(
listOfModules
)
}
}
}