Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在firestore中知道集合何时发生更改?_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 如何在firestore中知道集合何时发生更改?

Java 如何在firestore中知道集合何时发生更改?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我有一个包含餐厅菜单项目的集合,我想知道何时添加了新项目或发生了更改(价格、名称、说明),因为我想将此通知应用程序,并将此更改下载到内部数据库中 我试图创建一个名为version的字段,通过这种方式修改集合的app vs firebase版本中的campare版本,但我真的不知道如何使用firebase函数 有人能推荐吗?云Firestore是一个灵活、可扩展的数据库,它通过实时侦听器使您的数据在客户端应用程序之间保持同步,并为移动和web应用程序提供支持 因此,为了知道数据库中是否有更改,您需

我有一个包含餐厅菜单项目的集合,我想知道何时添加了新项目或发生了更改(价格、名称、说明),因为我想将此通知应用程序,并将此更改下载到内部数据库中

我试图创建一个名为version的字段,通过这种方式修改集合的app vs firebase版本中的campare版本,但我真的不知道如何使用firebase函数


有人能推荐吗?

云Firestore
是一个灵活、可扩展的数据库,它通过
实时侦听器使您的数据在客户端应用程序之间保持同步,并为移动和web应用程序提供支持

因此,为了知道数据库中是否有更改,您需要在特定位置附加listner。假设您有一个名为
cities
的集合和一个名为
SF
的文档,请使用以下代码。这是一个直截了当的例子

DocumentReference docRef = db.collection("cities").document("SF");
docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() {
    @Override
    public void onEvent(@Nullable DocumentSnapshot snapshot, @Nullable FirebaseFirestoreException e) {
        // see which fields changed
    }
});
DocumentReference docRef=db.collection(“cities”).document(“SF”);
docRef.addSnapshotListener(新的EventListener(){
@凌驾
public void onEvent(@Nullable DocumentSnapshot snapshot,@Nullable FirebaseFirestoreException e){
//查看哪些字段已更改
}
});

与Firebase实时数据库不同,Cloud Firestore在默认情况下启用了数据持久性。因此,没有必要将您的数据也保存在内部数据库中。

您似乎在寻找非常感谢Alex,您的回答让我对如何处理应用程序的脱机模式有了新的想法。因为我只想在有新的改变时才改变。