Android 从数据存储首选项返回int值
我有一个应用程序,我正在使用数据存储首选项保存Android 从数据存储首选项返回int值,android,kotlin,datastore,Android,Kotlin,Datastore,我有一个应用程序,我正在使用数据存储首选项保存int值,当我获得值时,我执行代码并希望返回该int值,以便我可以在代码中的不同位置使用它,但无法找到它,如果有人能提供帮助,请提前感谢 我试图让一个全局成员分配该值,然后返回,但由于该值是异步返回的,因此会使应用程序崩溃 这是我的密码 如果要直接获取值,应使用runBlocking。 像这样的事情应该可以做到: val textSize = runBlocking { dataStore.data.first() }[Common.TEXT_S
int
值,当我获得值时,我执行代码并希望返回该int
值,以便我可以在代码中的不同位置使用它,但无法找到它,如果有人能提供帮助,请提前感谢
我试图让一个全局成员分配该值,然后返回,但由于该值是异步返回的,因此会使应用程序崩溃
- 这是我的密码
如果要直接获取值,应使用
runBlocking
。
像这样的事情应该可以做到:
val textSize = runBlocking { dataStore.data.first() }[Common.TEXT_SIZE_PREFERENCE]
如果要直接获取值,应使用
runBlocking
。
像这样的事情应该可以做到:
val textSize = runBlocking { dataStore.data.first() }[Common.TEXT_SIZE_PREFERENCE]
您可以将
suspend
修饰符添加到函数中,并使用CoroutineScope
作为
suspend fun setTextSize() = dataStore.data.firstOrNull()[Common.TEXT_SIZE_PREFERENCE] ?: -1
在访问时
lifeCycleScope.launch{
val textSize = setTextSize()
}
您可以将
suspend
修饰符添加到函数中,并使用CoroutineScope
作为
suspend fun setTextSize() = dataStore.data.firstOrNull()[Common.TEXT_SIZE_PREFERENCE] ?: -1
在访问时
lifeCycleScope.launch{
val textSize = setTextSize()
}
非常有帮助,非常感谢非常有帮助,非常感谢