我现在正在使用新的Firebase API在我的第一个应用中工作。我在使用代码时保持Firebase对象引用存在问题,因为我不知道哪种方法是正确的。
所以,情况就是这样。我有一个应用程序,我的用户可以创建组,并在这些组(他们可以属于多个组)内,他们可以发布一些东西。在我的实际Firebase数据库中,它看起来像:
{
"Posts":{
"GroupKey1":{
"PostKey1":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey2":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey3":{
"text":
"imageUrl":
"author":{
...
}
}
}
"GroupKey2":{
....
}
}
}
所以,当我想要恢复与特定群组相关联的帖子时,我正在进行下一个查询:
Query newQuery = FirebaseDatabase.getInstance().getReference().child("posts").child(mCurrentGroupID);
一切都很好。它有效,而且很好。但我需要保持mCurrentGroupID String保持我的组活动和片段内的所有生命周期。现在我正在使用bundle来保持String在代码中保持活着,但它开始真的很有意思。
所以,我的问题是,在代码中保持这种变量的最佳方法是什么?使用SharedPreferences?仍在使用bundle,一个静态变量,一个BaseActivity中的默认项目,该项目已针对其余活动进行了扩展......
希望有人能帮助我!谢谢大家!
答案 0 :(得分:2)
我会坚持要保留全局变量,以便在Application类中的整个应用程序中使用,这是专门针对Android的应用程序。 Here是一个如何使用Application类
保存和检索全局变量的教程答案 1 :(得分:1)
第一次收到该ID后,您可以将其存储在SharedPreferenceManager
,其余地方从SharedPreferenceManager
获取。每次从Firebase
获取时都会继续更新该ID。