小编Fab*_*ice的帖子

如何在异步模式下使用 PreferenceDataStore?

我想将用户首选项存储在 Firebase 实时数据库中,而不是典型的 sharedPreferences。

例如,我的用户应该指定 itemId 以访问数据库的这一部分:

items
  itemId
    members
      uid: true
Run Code Online (Sandbox Code Playgroud)

所以当用户填写itemId时,我需要检查数据库中是否存在这个itemId,并显示错误要求用户填写另一个itemId。

我设想使用标准 Preference 屏幕并关联一个自定义 PreferenceDataStore 至少来处理 itemId。

阅读文档时,我需要覆盖 getString/putString 方法:

public class DataStore extends PreferenceDataStore {
    @Override
    public void putString(String key, @Nullable String value) {
        // Save the value somewhere
    }
    @Override
    @Nullable
    public String getString(String key, @Nullable String defValue) {
        // Retrieve the value
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,我需要异步管理它,以便查询我的数据库并获得一些结果。

所以我想知道使用 PreferenceDataStore 是否是一个好方法......我最初的想法是避免开发已经存在于 Androidx Preference 库中的设置屏幕。

谢谢你的帮助!

android asynchronous android-preferences firebase-realtime-database

7
推荐指数
0
解决办法
213
查看次数

如何去掉字符串中的前导0

我得到包含前导零的字符串格式的 ID。我想保留这个字符串格式,但没有前导零。例子:

00 => 0
01 => 1
02 => 2
10 => 10
11 => 11
Run Code Online (Sandbox Code Playgroud)

我当前的实现是 String id = int.parse(originalId).toString()

有没有更好/高效/Dart 模式的方式来实现这种转换?

dart

7
推荐指数
2
解决办法
5603
查看次数