小编Ros*_*des的帖子

Firebase的真正离线功能

我试图了解Android上Firebase的离线功能到底有多远.

据我所知,应该可以使数据库"持久" FirebaseDatabase.getInstance().setPersistenceEnabled(true);

文件内容如下:

Firebase实时数据库存储从查询返回的数据,以便在脱机时使用.对于在脱机时构建的查询,Firebase实时数据库将继续为以前加载的数据工作.如果未加载请求的数据,Firebase实时数据库将从本地缓存加载数据.当我们重新上线时,我们的数据将加载并反映查询.

当离线状态被强迫时,这也是真的goOffline吗?

这个问题中,用户得到了firebase支持的答案:

虽然您可以使用goOffline()强制客户端长时间离线,但性能会随着时间的推移而恶化.Firebase客户端将对中间状态更改进行排队,而不是像服务器那样更新存储状态.

这是否意味着"本地数据库"实际上没有像因连接丢失而离线时更新?

因为大多数时候任何查询或值事件监听器都没有返回,所以onDataChange永远不会被调用为onCanceled(我已经检查过!)

如果只有连接丢失,它实际上就像宣传的一样,虽然有时会有一分钟的延迟,这本身就是一个问题.

goOffline()如果这只是完全停止与数据库的交互,那么甚至提供该方法的意图是什么?

在我的实现中,应用程序启动脱机,具有匿名身份验证.所以在开始的时候,"本地数据库"将是完全空的.但是,值事件至少应该使用空数据快照触发onDataChanged吗?

我尝试保持在线状态,直到收到匿名UID并在firebase数据库中添加一个空条目,然后查询/缓存.之后,如果我打电话goOffline,就不能再添加条目,也不会再回答任何查询.

与上面提到的问题类似,我的计划是为用户提供保持离线的选项,当然还有在本地缓存中建立存储的写事件的缺点(但这不应该是一个大问题.没有那么多数据)

那么即使可能,我怎样才能完成这项工作呢?

我唯一能看到的是在开始时为实际的离线功能提供一些不同的数据库解决方案,当用户选择上线时,必须将其转换并转移到firebase.

android firebase firebase-realtime-database

6
推荐指数
0
解决办法
1393
查看次数

如何对Firestore数据库安全规则进行源控制并自动更新

将Firestore安全规则保存在代码的源代码管理(Github)中是否明智?

此外,在首次克隆存储库并安装应用程序时(自动用于开放源代码项目),自动部署安全规则的最佳方法是什么?就我而言,这是一个在Android Studio中使用Gradle构建的Android应用。

android gradle firebase firebase-security google-cloud-firestore

6
推荐指数
1
解决办法
404
查看次数

检查哪个类正在使用Android库的API

我们的一个Android应用程序项目中有这个Guava库,作为编译时依赖项添加如下:

compile 'com.google.guava:guava:18.0'
Run Code Online (Sandbox Code Playgroud)

我们从第三方供应商处收到此应用程序代码,我们现在不知道项目中有多少个类正在使用此库中的API.

Android工作室中是否有快速方法/工具来了解有多少java类/文件正在使用此库中的API?

当然,我可以删除这个lib依赖项build.gradle,我的编译器会告诉我所有缺少的类,但我正在寻找一个Android工作室工具/提示来查找这些信息.

android android-studio android-gradle-plugin

5
推荐指数
2
解决办法
208
查看次数

打do模式下维护时段的持续时间是多长?

当可以从推送消息中下载大量图像时,我希望使用Jobscheduler api来安排作业。由于操作系统在打ze模式下将忽略唤醒锁,并且由于fcm消息最多只能将设备唤醒10秒,因此维护窗口似乎是我从所有推送通知中下载图像的唯一方法。

每张图片最多100kb,一次最多50张图片。因此,基本上所有最大5兆字节的数据使用量。

我想知道打do模式下的窗口是否足够宽以允许这些下载。

我在Google上进行了搜索,并发现了一些松散的数据详细信息,声称有5-10分钟。

谁能指导我获得正确的信息。

谢谢并恭祝安康。

android firebase android-doze-and-standby firebase-cloud-messaging

5
推荐指数
1
解决办法
1553
查看次数

OrderByKey 工作正常,但 OrderByChild 在 firebase 实时数据库中给出了意外的结果

我正在尝试使用 firebase 实时数据库对数据进行排序和过滤。在一种情况下,我想使用 OrderByKey(因为我想要先提出新问题,并且使用推送功能生成密钥)来对数据进行排序,在另一种情况下,我使用 OrderByChild(因为我想使用时间戳进行排序,在这种情况下我不这样做) t 使用 push 但我使用用户的 uid 作为键)。

在这两种情况下,我首先想要最新的东西/人(问题/用户),所以我想按降序排序(在客户端我什至颠倒它)。所以这就是我在第一次查询后查询的方式。第一个查询endAt(endAtKey)在下面显示的查询中没有部分。

对于 OrderByKey:

 ref.child("questions").orderByKey().endAt(endAtKey).limitToLast(10);


   //data at questions node looks like this
    {
  "-L1CbnCkXJiRT9MKpoP1" : {
    "mCorrectAnswer" : 1,
    "mOptionA" : "ueud",
    "mOptionB" : "h",
    "mOptionC" : "h",
    "mOptionD" : "h",
    "mProblem" : "4shsudududududududurududu"
  },
  "-L1Dd9x6ws5di2rf8yay" : {
    "mCorrectAnswer" : 1,
    "mOptionA" : "sh",
    "mOptionB" : "shsh",
    "mOptionC" : "hehs",
    "mOptionD" : "hssh",
    "mProblem" : "12ffsnsjsjdbxbddhdbdbddjebddb"
  }
Run Code Online (Sandbox Code Playgroud)

对于 OrderByChild:

 mDatabaseReference.child("user_list").orderByChild("mTimeStamp")
                        .endAt(endAtKey).limitToLast(10);



     //data at user_list reference looks like this …
Run Code Online (Sandbox Code Playgroud)

sorting android firebase android-recyclerview firebase-realtime-database

5
推荐指数
1
解决办法
1027
查看次数

ARKit:在屏幕上查找SCNNode的坐标

我有一个简单的Swift ARKit设置,其中有一个带有3D对象的SCNNode,该对象在ARSCNView中可见。

我想确定该对象在ARSCNView上的2D坐标。我的意思是指将对象绘制到屏幕上时的x和y坐标。

我提供了一个草图来说明我的意思: 草图

有没有办法获得这些坐标,或者至少是一个近似值?我需要这样做,以便对相机框架进行进一步的处理。基本上,我对对象在屏幕上占据的区域感兴趣。

ios swift scnnode arkit arscnview

5
推荐指数
1
解决办法
1457
查看次数

Firestore有很多很多关系

想要与具有角色/权限的多对多结构相关的建议.

我们需要一种允许用户属于许多组织的结构,并且用户拥有每个组织的角色/权限.例如,User1属于ABC COas Admin,User1属于XYZ COasGuest

firebase google-cloud-firestore

5
推荐指数
1
解决办法
595
查看次数

如何在firebase中查询给定键的多个值

我试图在方法中使用'OR' ||语句equalTo(),但这似乎不起作用.我是否必须为每个值单独调用,或者是否有办法在firebase中进行条件查询?

export const startSetContent = () => {
  return (dispatch, getState) => {
    const ref = database.ref("content");
    return ref
      .orderByChild("category")
      .equalTo('one-act-play' || 'ten-min-play' || 'full-length-play')
      .once('value')
      .then(snapshot => {
        const content = [];
        snapshot.forEach(childSnapshot => {
          content.push({
            id: childSnapshot.key,
            ...childSnapshot.val()
          });
        });
        dispatch(setContent(content));
      });
  };
}; 
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database

5
推荐指数
1
解决办法
626
查看次数

删除所有文件后 Firebase 存储状态已满

在此输入图像描述 和许多其他人一样,我在我的项目中使用 Firebase。在过去的几天里,我经常使用 Firebase 在用户之间发送媒体文件。现在,我也使用免费计划,因为我仍在测试 Firebase。突然间,Firebase 停止响应,并提到

"You have exceeded your quota for this project. Please upgrade your plan.
    LEARN MORE"
Run Code Online (Sandbox Code Playgroud)

我知道 Firebase 对我每天可以传输和存储的数据量有限制,这没问题。我的问题是,即使在一整天之后,并且删除了存储中的所有内容,我仍然遇到相同的错误。

事实上,此错误仅出现在存储部分。但是,正如您在图片中看到的,我的存储空间现在是空的。因此我的问题是如何重置 firebase,或者除了付款之外没有其他办法?由于我看不到任何文件,我也怀疑我没有将它们全部删除,或者它们是否正确删除?这会是怎么回事吗?

更有趣的是,当我点击 时"LEARN MORE",会提示我进入以下页面,这更具有误导性。 在此输入图像描述

更新:查看我的配额详细信息后,我发现我的云存储网络已满: 在此输入图像描述

firebase firebase-storage

5
推荐指数
1
解决办法
2284
查看次数

Firebase Android:文件上传取消

uploadTask.cancel()只适用于大文件吗?我正在尝试上传一个可以工作的文件,但文件上传应该是可以取消的,在我的情况下,它只适用于大文件小文件上传,即使我已经取消了文件上传。

android firebase firebase-storage

5
推荐指数
1
解决办法
2896
查看次数