如何阅读偏好与glance Widget Jetpack撰写?



我正在尝试做一个天气应用程序与一个小部件。我调用开放的天气地图api,我可以在手机的主屏幕上看到天气。我将它们保存在dataStore中:

mainViewModel.setCity(city)
fun setCity(city: String){
viewModelScope.launch {
preferenceManager.setWeatherCity(city)
}
}
suspend fun setWeatherCity(city: String){
application.applicationContext.pref.edit { preference ->
preference[stringPreferencesKey("weather_city")] = city
}
}

我在小部件中读取它们:

val prefs = currentState<Preferences>()
val city: String = remember {
prefs[stringPreferencesKey("weather_city")] ?: "Paris"
}
但是如果我保存Cancun在小部件上,总是有默认值Paris

有人知道为什么或者我能做些什么来解决这个问题吗?

我发现了一个很好的例子,如果它可以帮助别人:https://itnext.io/schedule-image-displaying-in-glance-widget-with-work-manager-api-cc474ed8571c

最新更新