0

我试图使用 Composable 中的数据存储来读取用户数据,但无法将值作为字符串读取以放入 Text 中。那是数据存储

private val Context.userPreferencesDataStore: DataStore<Preferences> by preferencesDataStore(
  name = "user"
)
private val USER_FIRST_NAME = stringPreferencesKey("user_first_name")
suspend fun saveUserToPreferencesStore(context: Context) {
  context.userPreferencesDataStore.edit { preferences ->
    preferences[USER_FIRST_NAME] = "user1"
  }
}
fun getUserFromPreferencesStore(context: Context): Flow<String> = context.userPreferencesDataStore.data
  .map { preferences ->
    preferences[USER_FIRST_NAME] ?: ""
  }

和内部可组合:

@Composable
fun myComposable() {
  var context = LocalContext.current
  LaunchedEffect( true){
    saveUserToPreferencesStore(context )
  
  }
  Text(getUserFromPreferencesStore(context ))
}
4

0 回答 0