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”的问题。

相关内容

热门资讯

黑科技攻略(Wepoke开挂)... 黑科技攻略(Wepoke开挂)外挂透明挂辅助ai代打(黑科技ai)其实是真的有挂(有挂讲解)-哔哩哔...
黑科技有挂(aapoker辅助... 黑科技有挂(aapoker辅助)外挂透明挂辅助挂(透明挂黑科技)都是是有挂(有挂方式)-哔哩哔哩1、...
黑科技好牌(wpk机制)外挂透... 黑科技好牌(wpk机制)外挂透明挂辅助下载(透明挂黑科技)一直是真的有挂(有挂秘籍)-哔哩哔哩;1、...
黑科技教学(德州ai智能)外挂... 黑科技教学(德州ai智能)外挂透明挂辅助代打(透明挂黑科技)都是是有挂(确实有挂)-哔哩哔哩该软件可...
黑科技黑科技(众合推扑克)外挂... 黑科技黑科技(众合推扑克)外挂透明挂辅助神器(透明黑科技)确实真的有挂(今日头条)-哔哩哔哩众合推扑...
黑科技辅助(wpk辅助器)外挂... 黑科技辅助(wpk辅助器)外挂透明挂辅助代打(ai辅助)确实是真的有挂(有挂细节)-哔哩哔哩1、wp...
黑科技挂(aapker代理)外... 黑科技挂(aapker代理)外挂透明挂辅助挂(智能ai)好像是真的有挂(了解有挂)-哔哩哔哩1、构建...
黑科技神器(云扑克德州)外挂透... 黑科技神器(云扑克德州)外挂透明挂辅助AI(辅助挂)都是有挂(真的有挂)-哔哩哔哩1、黑科技神器(云...
黑科技模拟器(Wepoke教学... 黑科技模拟器(Wepoke教学)外挂透明挂辅助黑科技(透明挂黑科技)竟然真的是有挂(有挂细节)-哔哩...
黑科技工具(WPK存在)外挂透... 黑科技工具(WPK存在)外挂透明挂辅助设备(透明挂黑科技)竟然是真的有挂(有挂秘籍)-哔哩哔哩1、W...