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、首先打开廊坊麻将辅助器下...
我来教大家辅助器技巧!中至汾阳... 我来教大家辅助器技巧!中至汾阳麻将多功能辅助器技巧,中至汾阳麻将果然真的有辅助器技巧1、该软件可以轻...
分享实测辅助器app!欢乐碰胡... 分享实测辅助器app!欢乐碰胡多功能辅助器app,欢乐碰胡好像真的有辅助器app一、欢乐碰胡可以开透...
玩家必看科普外挂方法!大唐麻将... 玩家必看科普外挂方法!大唐麻将全集多功能外挂方法,大唐麻将全集一直真的是有外挂方法1、首先打开大唐麻...
我来教教大家透视器技巧!情怀信... 我来教教大家透视器技巧!情怀信阳多功能透视器技巧,情怀信阳总是存在有透视器技巧1)情怀信阳免费钻石:...
专业讨论开挂app!天听之旅多... 专业讨论开挂app!天听之旅多功能开挂app,天听之旅竟然真的是有开挂app1、每一步都需要思考,不...
一起来讨论作弊器方法!哈哈长沙... 一起来讨论作弊器方法!哈哈长沙麻将多功能作弊器方法,哈哈长沙麻将本来是真的有作弊器方法哈哈长沙麻将辅...
一分钟揭秘作弊器软件!星火燎原... 一分钟揭秘作弊器软件!星火燎原多功能作弊器软件,星火燎原原来存在有作弊器软件1、星火燎原辅助器安装包...
最新技巧透视器插件!聚贤多功能... 最新技巧透视器插件!聚贤多功能透视器插件,聚贤本来有透视器插件运聚贤辅助工具,进入游戏界面。进入聚贤...