android–Firebase处理连接突然丢失

android–Firebase处理连接突然丢失,第1张

概述我想知道当互联网连接突然丢失时如何控制我的firebase写入请求.为了解释我的问题,我将举例说明:例让我说我一次做3次写:1)WRITE1:表示将图像上传到firebase存储.2)WRITE2:表示将另一个图像上传到firebase存储.3)WRITE3:表示将(WRITE1)和(WRITE2)的url链接存储在实时数据库中.

我想知道当互联网连接突然丢失时如何控制我的firebase写入请求.为了解释我的问题,我将举例说明:

让我说我一次做3次写:

1)WRITE 1:表示将图像上传到firebase存储.

2)WRITE 2:表示将另一个图像上传到firebase存储.

3)WRITE 3:表示将(WRITE 1)和(WRITE 2)的url链接存储在实时数据库中.

一次进行3次写入的合理方法是根据每个写入的完整监听器链接它们

这样的事情:

 //WRITE 1  storageref.putfile(image1).addOnCompleteListener(new OnCompleteListener{     //get link of this write and do WRITE 2       //WRITE 2        storage ref.putfile(image2).addOnCompleteListener(new OnCompleteListener{          //get the link of this write and do WRITE 3         // WRITE 3            Map links=new HashMap();           links.put("image1", link1);           links.put("image2", link2);             databaseref.child("images").setValue(links).addOnCompleteListener(new OnCompleteListener{             //show a message        });  });  });

正如您所看到的,实现此目的的唯一方法是将它们链接在一起,以便在一次写入完成时执行另一次执行,依此类推.

问题

情况1:如果WRITE 1上的连接丢失,则其他写入将无法完成.

情况2:如果WRITE 2上的连接丢失,那么最后一次写入将不会执行,我最终会在存储上找到无用的文件.因为我无法将它们发送到数据库.

情况3:如果WRITE 3上的连接丢失,那么我将无法显示消息.

因为看起来这是解决这个问题的唯一方法.你能不能给出一个方法或@R_301_6954@案来解决这个问题,我不想因为数据库结构不完整而导致我的应用程序崩溃.

解决方法:

在没有交易的情况下,您需要做一些事情来确保您的应用在不可靠的条件下工作.

>按照最容易防止或检测故障的顺序写入数据.您首先编写文件,然后才更新数据库.由于您可能会在数据库记录上触发其他进程,因此在步骤3完成之前不会触发它们.所以你已经这样做了.
>编写您的阅读代码,以防止可能存在的不完整数据.例如:即使URL已进入数据库,也不要假设文件是​​正确的,甚至不存在.当您在单独的读取 *** 作中从数据库中读取多个节点时,请按顺序读取它们,以便最简单地检测不完整或损坏的数据,并在这种情况下跳过该项目.
>运行常规批处理以清除孤立数据.我承认,这通常不值得花费,但保持数据尽可能正确是一个良好的卫生问题.

总结

以上是内存溢出为你收集整理的android – Firebase处理连接突然丢失全部内容,希望文章能够帮你解决android – Firebase处理连接突然丢失所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1100776.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存