在多个片段中访问相同的 Firebase Firestore

Accessing same Firebase Firestore in multiple fragments

我有一个 ArrayList<Person> 存储在 Firestore

我在 片段 A 中有一个 RecyclerView 显示每个人的基本信息。

我有一个 onClickListener 片段 A 替换为 片段 B 并传递了项目上人员的 UID还单击了 片段 B

我的 Fragment B 的目标是通过某种方式使用 UID 来显示单击的 Person 项目的所有详细信息(以及添加更多数据的选项)来自 Firestore.

的数据

我的问题是,我是否应该为我需要相同 Firestore 的每个 Fragment 实例化一个 Firebase Firestore?或者我可以将 Person 对象作为一个包传递出去(尽管我不确定我所做的任何更改是否反映在 Firebase 上)。

我认为这是一个非常昂贵的过程,我不确定我的替代方案是什么。

  1. FirebaseFirestore 是一个 Singleton class 这意味着任何你调用它的地方:

FirebaseFirestore db = FirebaseFirestore.getInstance();

您将始终获得相同的对象。

  1. 如果 Person class 实现了 Parcelable. If it implements Parcelable you can add the person object to a bundle and send it to the other fragment this way.

    ,您可以将数据传递给第二个片段
  2. 如果“实例化 Firestore”实际上是指从 Firestore 检索数据,Firestore 在本地 caches 您的应用正在使用的数据副本,因此片段 B 将检索数据来自本地缓存。