我有一個ArrayList<Person>存盤在Firestore.
我RecyclerView在片段 A中有一個顯示每個人的基本資訊。
我有一個用片段 BonClickListener替換片段 A并將單擊專案上的人的 UID 傳遞給片段B。
我使用片段 B的目標是通過以某種方式使用 UID 從Firestore.
我的問題是,我應該Firebase Firestore為每個Fragment我需要的東西實體化一個Firestore嗎?或者我可以將 Person 物件作為一個包傳遞(盡管我不確定我所做的任何更改是否反映在 Firebase 上)。
我認為這是一個非常昂貴的程序,我不確定我的替代方案是什么。
uj5u.com熱心網友回復:
- FirebaseFirestore 是一個Singleton類,這意味著您可以在任何地方呼叫它:
FirebaseFirestore db = FirebaseFirestore.getInstance();
您將始終獲得相同的物件。
如果 Person 類實作Parcelable,您可以將資料傳遞給第二個片段。如果它實作 Parcelable,您可以將 person 物件添加到 bundle 并以這種方式將其發送到另一個片段。
如果通過“實體化 Firestore”實際上是指從 Firestore 檢索資料,Firestore 會在本地快取您的應用正在使用的資料的副本,因此片段 B 將從本地快取中檢索資料。
uj5u.com熱心網友回復:
您可以像這樣創建一個單例類:
public class FirebaseSingleton{
private static FirebaseFirestore instance;
public static FirebaseFirestore getInstance(){
if (instance == null) instance = FirebaseFirestore.getInstance();
return instance;
}
}
這將回傳相同的物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/444494.html
