我想永久使用脱机Firestore,但是我没有正确的代码。在kotlin教程上这样说:
db.collection("members").document()
.addSnapshotListener(object : EventListener<DocumentSnapshot> {
override fun onEvent(snapshot: DocumentSnapshot?,
e: FirebaseFirestoreException?) {
if (e != null) {
Log.w(ContentValues.TAG, "Listen error", e)
err_msg.text = e.message
err_msg.visibility = View.VISIBLE;
return
}
snapshot?.reference?.set(data)
val intent = Intent()
setResult(Activity.RESULT_OK, intent)
this@FormActivity.finish()
}
}
)
我尝试在flutter上使用此代码:
Firestore.instance.collection("hega").document().setData(data);
也尝试一下:
Firestore.instance.collection("hega").add(data);
两者均在线时有效,但在设备离线(使用飞行模式)时不起作用
更新: 因此,以上代码实际上可以脱机使用。
Firestore.instance.collection("hega").document().setData(data);
我只需要设置文档快照的流侦听器,以查看数据已添加到本地缓存中。但是另一个问题是,当设备联机时,脱机数据不会同步到服务器。