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

时间:2019-03-23 06:40:24

标签: android asynchronous firebase-realtime-database android-preferences

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

作为示例,我的用户应指定itemId以便访问数据库的这一部分:

items
  itemId
    members
      uid: true

因此,当用户填写itemId时,我需要检查该itemId是否存在于数据库中并显示错误消息,要求用户填写另一个itemId。

我设想使用标准的“首选项”屏幕,并至少关联一个自定义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
    }
}

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

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

谢谢您的帮助!

0 个答案:

没有答案