【发布时间】:2019-03-06 19:31:23
【问题描述】:
我想使用持久的离线 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()
}
}
)
我尝试在颤振上使用此代码:
Firestore.instance.collection("hega").document().setData(data);
也试试这个:
Firestore.instance.collection("hega").add(data);
两者都在在线时工作,但在设备离线时不工作(使用飞行模式)
更新: 所以上面的代码实际上是离线工作的。
Firestore.instance.collection("hega").document().setData(data);
我只需要为文档快照设置流侦听器,以查看数据是否已添加到本地缓存中。但另一个问题是当设备上线时,离线数据没有同步到服务器。
【问题讨论】:
-
你在 Flutter 中使用的是 kotlin 代码吗?
-
不,我刚刚在 kotlin 上找到了一个如何离线使用 firestore 的教程。我想在颤振飞镖上使用它。
-
设备上线后有没有找到解决办法?
-
嗨@rickdroio 什么都不做,一切都已经由 sdk 处理了。
标签: dart flutter google-cloud-firestore