Firebase实时数据库:是完成侦听器持久离线?

时间:2018-02-07 21:41:47

标签: android firebase firebase-realtime-database offline-caching

假设我们有一个名为“AddItemButton”的按钮,因此每次单击按钮时,我们都应该在(Items)节点的数据库中添加推送ID和特定值。

看起来像这样:

//on click AddItemButton

DatabaseReference items=FirebaseDatabase.getInstance().getReference();

//push an item 

items.child("Items").push();

//add to database

items.setValue("new_item").addOnCompleteListener(new onCompleteListener..{

  //when completed the write add data to (Items_2) node

   DatabaseReference items_another=FirebaseDatabase.getInstance().getReference();

   items_another.child("Items_2").push();

   items_another.setValue("new_item");


});

因此,当您看到它向(项目)添加数据的基本方法时,一旦完成,另一个写入将添加到(Items_2)。

立即离线

如果我现在离线并单击按钮2次。我知道我缓存了2次写入磁盘(因为我启用了持久性);

立即上线

如果我现在在线,则会添加(项目)的2个写入,而在(项目_2)处不会添加任何内容(它们会丢失)。

问题1

firebase是否也允许捕获每个脱机写入的完成侦听器?

如果是,那么为什么它不能坚持我的情况?

问题2

我们对缓存写入有限制吗?

谢谢。

0 个答案:

没有答案