AndroidPreferencesDataStoreFlowDoesn'tEmitSameValue
创始人
2024-10-09 14:01:50
0次

可以通过以下代码示例解决此问题:

  1. 创建一个包含DataStore的viewmodel

class MyViewModel(application: Application) : AndroidViewModel(application) {

// Initialize DataStore
private val dataStore = application.applicationContext.createDataStore(
    name = "my_preferences"
)

// Get the preference value from DataStore
val myPreferenceFlow: Flow = dataStore.data
    .catch { exception ->
        // DataStore throws an exception if an error occurs
        if (exception is IOException) {
            emit(emptyPreferences())
        } else {
            throw exception
        }
    }
    .map { preferences ->
        preferences[MY_PREFERENCE_KEY] ?: ""
    }

}

  1. 在Activity/Fragment中使用此viewmodel并观察值变化

class MyActivity : AppCompatActivity() {

private lateinit var viewModel: MyViewModel

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.my_activity)

    // Initialize viewModel
    viewModel = ViewModelProvider(this).get(MyViewModel::class.java)

    // Observe the changes in myPreferenceFlow
    lifecycleScope.launch {
        viewModel.myPreferenceFlow.collect { value ->
            // Do something with the value
            Log.d("MyPreference", "Value = $value")
        }
    }
}

}

这样就可以获得DataStore的动态更新值并且不会遇到“Android Preferences DataStore Flow Doesn't Emit Same Value”的问题。

相关内容

热门资讯

揭秘攻略!微乐春天扑克开挂功能... 揭秘攻略!微乐春天扑克开挂功能神器,微乐春天扑克好像真的有开挂神器(有辅助挂总结)1、让任何用户在无...
推荐十款!海星大厅辅助器功能工... 推荐十款!海星大厅辅助器功能工具,海星大厅切实是真的有辅助器工具(今日头条辅助)1、很好的工具软件,...
专业讨论!哈狗游戏辅助器功能插... 专业讨论!哈狗游戏辅助器功能插件,哈狗游戏总是存在有辅助器插件(有辅助挂app)哈狗游戏辅助器是一种...
详细说明!微乐广西麻将透视挂功... 详细说明!微乐广西麻将透视挂功能工具,微乐广西麻将都是有透视挂工具(有辅助挂解密)1、进入到微乐广西...
查到实测!鼎盛棋牌开挂功能插件... 查到实测!鼎盛棋牌开挂功能插件,鼎盛棋牌总是是有开挂插件(有辅助挂辅助)1)鼎盛棋牌免费钻石:进一步...
分辨真假!凑一桌游戏辅助功能脚... 分辨真假!凑一桌游戏辅助功能脚本,凑一桌游戏都是是有辅助脚本(有辅助挂存在)分辨真假!凑一桌游戏辅助...
推荐十款!咪咪扑克开挂功能攻略... 推荐十款!咪咪扑克开挂功能攻略,咪咪扑克好像存在有开挂攻略(有辅助挂存在)亲,关键说明,咪咪扑克透视...
热点讨论!剧乐部辅助器功能神器... 热点讨论!剧乐部辅助器功能神器,剧乐部确实是有辅助器神器(有辅助挂实锤)1、打开软件启动之后找到中间...
最新技巧!秀山博胡开挂功能软件... 最新技巧!秀山博胡开挂功能软件,秀山博胡切实是有开挂软件(有辅助挂app)1、任何秀山博胡透视是真的...
玩家必看教程!边锋斗地主辅助功... 玩家必看教程!边锋斗地主辅助功能神器,边锋斗地主都是有辅助神器(有辅助挂讲解)1、边锋斗地主免费辅助...