Я бы хотел хранить пользовательские настройки в базе данных Firebase в реальном времени вместо обычных sharedPreferences.
В качестве примера, мой пользователь должен указать 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.
Спасибо за помощь!