私は今、新しいFirebase APIを使って最初のアプリケーションで作業しています。そして、これを行う正しい方法がわからないので、Firebaseのオブジェクト参照を自分のコードで保持するのに問題があります。Firebase Referenceをコードに保存する最も良い方法
これはそうです。私はユーザーがグループを作ることができるアプリケーションを持っています。そして、このグループの中で(彼らは複数のグループに属することができます)、いくつかのものを投稿することができます。私は次のクエリを実行し、特定のグループiI'mに関連した記事を回復したいとき
{
"Posts":{
"GroupKey1":{
"PostKey1":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey2":{
"text":
"imageUrl":
"author":{
...
}
}
"PostKey3":{
"text":
"imageUrl":
"author":{
...
}
}
}
"GroupKey2":{
....
}
}
}
ので、::
Query newQuery = FirebaseDatabase.getInstance().getReference().child("posts").child(mCurrentGroupID);
すべてはそれで結構です、私の実際のFirebaseデータベースでは、のように見えます。それはうまくいきます。しかし、私はそのmCurrentGroupID Stringを、私のグループアクティビティとフラグメント内のすべてのライフサイクルを維持しておく必要があります。今はコードを使って文字列を生かしているバンドルを使用していますが、それは本当に驚きです。
私の質問は、この種の変数をコード内に生かす最良の方法は何ですか? SharedPreferencesを使用しますか?まだバンドル、静的変数、BaseActivityの残りの活動のために拡張されているデフォルトの項目で作業...
誰かが私に手を差し伸べることを望む!あらかじめ全員ありがとう!
私はすでにSharedPreferencesに保存すると思いますが、1人のユーザーが複数のグループを持つことができるので、グループごとにだからこそ、私は最良の方法があるかどうかわからないのです! –
はいユーザがグループを変更するたびに、現在のグループIDをfirebaseから取得し、prefManagerで更新します。 – Pr38y
もう一つの方法は、firebase自体からフェッチすることですが、私は再びネットワークコールを行うと思います。 – Pr38y