我应该如何初始化 Koin DI 并使用共享首选项

问题描述 投票:0回答:3

我正在我的项目中处理这个拉请求,我想在登录后存储从服务器收到的令牌。我的项目的风格是一种活动和多个片段类型,我有一个片段和一个与其关联的视图模型,用于登录和注册等每一项功能。

现在我的问题是如何使用 Koin 依赖注入,以便将所有共享首选项代码放入视图模型中?

android kotlin koin
3个回答
4
投票

在您的应用程序模块中定义 SP

single { provideSharedPref(androidApplication()) }

fun provideSharedPref(app: Application): SharedPreferences {
return app.applicationContext.getSharedPreferences(
    SHARED_PREFERENCE_NAME,
    Context.MODE_PRIVATE
)

}

然后在视图模型构造函数中注入来自 SP 的实例


3
投票

可能是个老问题,但我会帮助那些有困难的人。

在你的 module.kt 中。

single { PreferenceHelper.customPrefs(androidContext(),"$any_string") }

在活动或片段中你可以像注入一样。

    private val prefs: SharedPreferences by inject()

如果有人需要 SharedPreferencesHelperClass。

前往 Github 库

我不确定是否需要提及这是我的图书馆。


0
投票

@提供 有趣的providePreferences(@ApplicationContext上下文:Context):SharedPreferences { 返回 context.getSharedPreferences("sp.key", Context.MODE_PRIVATE) }

© www.soinside.com 2019 - 2024. All rights reserved.