1
我正在尝试将Firebase DataSnapshot对象保存到sharedpreferences。你为什么问?如何将Firebase DataSnapshot对象保存到共享首选项?
请参阅this post其中我设计了一个涉及这样做的狡猾(?)计划。
...
我迄今为止尝试:
1)使用Gson.Json method。结果:似乎没有工作......我不认为DataSnapshot类是一个“POJO”类型的类...至少没有一个可以与gson一起工作。
2)使用这种方法:
private static String toString(Serializable o) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(o);
oos.close();
return Base64.getEncoder().encodeToString(baos.toByteArray());
}
结果:没有工作...我不认为DataSnapshot类是 '序列化'。
我想到了另一种方法 - 只需将DataSnapshot.toString()保存到Sharedpreferences中即可,但是如何将其重新取出?你不能这样做:
DataSnapshot snapshot = new DataSnapshot().fromString([string from sharedprefs])
有没有人知道一种方法来做到这一点?
谢谢!
你不应该救你怎么知道它有多大,你见过我的数据库** **数据在sharedpreferences –
的大块?有多大太大? –
这是在共享首选项中存储数据快照的不好方法,这在技术上不可见 –