我現在正在使用新的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