Android 在代码中保存Firebase引用的最佳方法
我现在正在使用新的Firebase API开发我的第一个应用程序。我在代码中保存Firebase对象引用时遇到了问题,因为我不知道哪种方法是正确的 所以,情况就是这样。我有一个应用程序,我的用户可以在其中创建组,在这个组中(他们可以属于多个组),他们可以发布一些东西。在我的实际Firebase数据库中,它看起来像:Android 在代码中保存Firebase引用的最佳方法,android,variables,firebase,firebase-realtime-database,Android,Variables,Firebase,Firebase Realtime Database,我现在正在使用新的Firebase API开发我的第一个应用程序。我在代码中保存Firebase对象引用时遇到了问题,因为我不知道哪种方法是正确的 所以,情况就是这样。我有一个应用程序,我的用户可以在其中创建组,在这个组中(他们可以属于多个组),他们可以发布一些东西。在我的实际Firebase数据库中,它看起来像: { "Posts":{ "GroupKey1":{ "PostKey1
{
"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字符串,将所有生命周期都保存在我的组活动和片段中。现在我正在使用bundle在代码中保持字符串的活动性,但它开始变得非常糟糕
所以,我的问题是,在代码中保持这类变量活动的最佳方法是什么?使用共享引用?仍在使用Bundle,一个静态变量,BaseActivity中的一个默认项,该项被扩展用于其他活动。一旦您第一次收到该id,您可以将其存储在
SharedReferenceManager
中的其余位置,从SharedReferenceManager
获取。每次从Firebase获取id时,都要不断更新该id,我会坚持让全局变量在整个应用程序中使用,这是专门针对Android应用程序的。是如何使用应用程序类保存和检索全局变量的教程我已经考虑过在SharedReferences中保存它,但是一个用户可以有多个组,因此每次用户在一个组到另一个组之间更改时,我都需要修改此值。这就是为什么我不知道这是不是最好的方法!是的,每次用户更改组时,从firebase获取当前组id并在prefManager中更新。另一种方法是从firebase本身获取,但我认为它会再次进行网络调用。