我想将用户首选项存储在 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
我得到包含前导零的字符串格式的 ID。我想保留这个字符串格式,但没有前导零。例子:
00 => 0
01 => 1
02 => 2
10 => 10
11 => 11
Run Code Online (Sandbox Code Playgroud)
我当前的实现是 String id = int.parse(originalId).toString()
有没有更好/高效/Dart 模式的方式来实现这种转换?