java - 如何在没有互联网连接的情况下将对象(带有图像和其他数据的 hashMap)上传到 Firebase 实时数据库和 Firebase 存储?
问题描述
让我解释一下我的情况。我在 Android Studio 中有一个 Activity,我在其中填写了一些内容,例如;名称,描述,...和图像。数据与来自 Firebase 存储的图像参考一起进入 Firebase 实时数据库,如下所示:
HashMap boulderHash = new HashMap();
boulderHash.put("boulderkey", latlong);
boulderHash.put("userid", currentUserID);
boulderHash.put("username", dataSnapshot.child("username").getValue().toString());
boulderHash.put("profileimage", downloadURL2);
...
final HashMap boulderImageHash = new HashMap();
boulderImageHash.put("images", downloadURL1);
boulderImageHash.put("profilestorage", storage);
boulderImageHash.put("counter", counter);
boulderImageHash.put("userid", currentUserID);
BoulderRef.child(latlong).updateChildren(boulderHash).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull final Task task) {
if (task.isSuccessful()) {
DatabaseReference key = BoulderRef.child(finalLatlong).child("BoulderImages").push();
imageKey = key.getKey();
BoulderRef.child(finalLatlong).child("BoulderImages").child(imageKey).updateChildren(boulderImageHash
当我单击一个按钮并且没有互联网连接时,所有这一切都会发生,我使用FirebaseDatabase.getInstance().setPersistenceEnabled(true); 所以操作正在等待连接上传。一切都很好,因为如果我不关闭应用程序,我的手机最终会恢复连接并上传数据。
当我从后台关闭应用程序时出现问题,是否有任何选项可以将此数据或操作保存到本地存储或缓存中,并像在不关闭应用程序的情况下那样自动发送?
解决方案
推荐阅读
- sql - 如何在Presto的SQL(Athena)中从一年开始计算每个月的平均值?
- discord.js - 随机 Meme 命令 (discord.js v12)
- pandas - 如何让 pandas / pylint 在 Mac 上的 Visual Studio Code 中运行?
- java - 如何使用 Java 多线程更快地计算欧拉数
- javascript - xttp请求后如何在JavaScript中全局保存变量
- java - 你如何忽略 @Transactional 中的 UnexpectedRollbackException
- node.js - 使用 amazon multers3 上传后如何使用 Expressjs 在视图中渲染图像
- javascript - Djikstra 算法有问题
- java - 斯坦福 CoreNLP 无法检测带有编号的句子
- c# - 如何返回任务
使用起订量?