我现在正在使用新的Firebase API在我的第一个应用中工作。而且我在通过我的代码保留Firebase对象引用时遇到问题,因为我不知道哪种方法可以实现此目的。在代码中保存Firebase参考的最佳方式
所以,情况就是这样。我有一个应用程序,我的用户可以创建组,并且在这些组中(他们可以属于多个组),他们可以发布一些内容。在我的实际火力地堡的数据库,它看起来像:
{
"Posts":{
"GroupKey1":{
"PostKey1":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey2":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey3":{
"text":
"imageUrl":
"author":{
...
}
}
}
"GroupKey2":{
....
}
}
}
所以,当我想收回关联到做一个查询的特定组iI'm帖子:
Query newQuery = FirebaseDatabase.getInstance().getReference().child("posts").child(mCurrentGroupID);
一切都很好与。它的工作,并没有问题。但我需要保持mCurrentGroupID String保持我的组活动和片段中的所有生命周期。现在我正在使用bundle来保持字符串在代码中存活,但它开始变得非常有帮助。
所以,我的问题是,在代码中保持这种变量的最佳方式是什么?使用SharedPreferences?仍然在使用捆绑包,一个静态变量,一个BaseActivity中的默认项目,它被扩展用于其余的活动...
希望有人能帮我一把!谢谢大家!
我已经考虑将它保存在SharedPreferences中,但是一个用户可以有多个组,所以我需要在用户每次更改之间修改此值一组到另一组。这就是为什么我不知道是否是最好的方式! –
是的,每当用户更改组时,都从firebase获取当前组ID并在prefManager中更新它。 – Pr38y
另一种方法是从firebase本身获取,但我认为它会再次进行网络调用。 – Pr38y