Android与整个应用共享firestore数据

时间:2017-11-28 20:52:48

标签: android firebase android-fragments google-cloud-firestore

我的MainActivity有一个TabView,由4个片段填充,每个Fragment使用Firestore DocumentReference来获取数据,这会导致我的应用程序再次为每个TAB下载数据。我想在我的MainActivity中获取DocumentReference中的数据,并在我的4个片段和甚至不同的Activity之间共享DocumentReference。 这可能吗? 我的Firestore DocumentReference包含对象,因此我不确定它是否适用于共享首选项。

2 个答案:

答案 0 :(得分:1)

使用Android Firestore SDK,默认情况下会启用offline persistence。这意味着当提取文档时,它将保留在设备上的本地缓存中,并且不会再次下载以供后续访问(除非文档在服务器上已更改,或者它已从缓存中逐出,因为缓存也增长了大)。

对于您的情况,我怀疑您实际上是多次提取文档,除非您禁用了持久性。

答案 1 :(得分:0)

您可以为Firestore Operations创建单独的类。

 public class FirebaseUtils {
        public static DocumentReference getFirestoreUserDocRef(String documentName) {
            return FirebaseFirestore.getInstance().collection("users").document(documentName);
        }
    }

您可以访问项目中的任何位置。

希望它对你有所帮助。