Я пытаюсь сохранить объект Firebase DataSnapshot в общих настройках.
См. этот пост, в котором я разработали метод, который включает в себя это.
...
Что я пробовал до сих пор:
Используя метод Gson.Json. РЕЗУЛЬТАТ: Кажется, не работает... Я не думаю, что класс DataSnapshot является классом типа POJO... по крайней мере, он не будет работать с gson.
Используя этот метод:
private static String toString(Serializable o) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = новый ObjectOutputStream( baos ); oos.writeObject( о ); оос.закрыть(); вернуть Base64.getEncoder().encodeToString(baos.toByteArray()); }
РЕЗУЛЬТАТ: не работает... Я не думаю, что класс DataSnapshot является сериализуемым.
Я подумал о другом методе - просто сохраните DataSnapshot.toString() в Sharedpreferences... но как потом вернуть его обратно? Вы не можете сделать:
DataSnapshot snapshot = new DataSnapshot().fromString([string from sharedprefs])
Любая помощь приветствуется.