【问题标题】:How to get Android Context for Koin in Java如何在 Java 中获取 Koin 的 Android 上下文
【发布时间】:2021-08-05 09:14:56
【问题描述】:

我想在 Java 中为 Koin 获取 AndroidContext。 在 Kotlin 中,我会在 startKoin 块中调用 androidContext() https://insert-koin.io/docs/reference/koin-android/dsl/

但在 Java 中我以这种方式启动 Koin

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        KoinApplication koin = KoinAndroidApplication
                .create(this)
                .modules(KoinInjectorKt.getKoinInjector());
        startKoin(koin);
    }
}

我在KoinAndroidApplication中没有androidContext()函数

【问题讨论】:

    标签: java android koin


    【解决方案1】:

    根据KDoc

    KoinAndroidApplication.create(..) 
    
    Create Koin Application with Android context - For Java compat
    

    它已经在后台使用androidContext(当您调用KoinAndroidApplication.create(this) 时),如果您打开KoinAndroidApplication 的源代码,您将看到:

    object KoinAndroidApplication {
    
        /**
         * Create Koin Application with Android context - For Java compat
         */
        @JvmStatic
        @JvmOverloads
        fun create(context: Context, androidLoggerLevel: Level = Level.INFO): KoinApplication {
            return KoinApplication.init().androidContext(context).androidLogger(androidLoggerLevel)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 2018-12-29
      • 2018-11-18
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      相关资源
      最近更新 更多