我正在我的项目中处理这个拉请求,我想在登录后存储从服务器收到的令牌。我的项目的风格是一种活动和多个片段类型,我有一个片段和一个与其关联的视图模型,用于登录和注册等每一项功能。
现在我的问题是如何使用 Koin 依赖注入,以便将所有共享首选项代码放入视图模型中?
在您的应用程序模块中定义 SP
single { provideSharedPref(androidApplication()) }
fun provideSharedPref(app: Application): SharedPreferences {
return app.applicationContext.getSharedPreferences(
SHARED_PREFERENCE_NAME,
Context.MODE_PRIVATE
)
}
然后在视图模型构造函数中注入来自 SP 的实例
可能是个老问题,但我会帮助那些有困难的人。
在你的 module.kt 中。
single { PreferenceHelper.customPrefs(androidContext(),"$any_string") }
在活动或片段中你可以像注入一样。
private val prefs: SharedPreferences by inject()
如果有人需要 SharedPreferencesHelperClass。
我不确定是否需要提及这是我的图书馆。
@提供 有趣的providePreferences(@ApplicationContext上下文:Context):SharedPreferences { 返回 context.getSharedPreferences("sp.key", Context.MODE_PRIVATE) }