小编Lor*_*ren的帖子

setPersistenceEnabled(true)崩溃应用程序

我正在创建我的第一个Firebase应用程序.它的一个要求是它在网络不可用时运行.Firebase指南指出:

启用磁盘持久性使我们的应用程序即使在应用程序重新启动后也能保持其所有状态.我们只需一行代码即可启用磁盘持久性. FirebaseDatabase.getInstance()setPersistenceEnabled(真). 启用磁盘持久性后,我们的同步数据和写入将在应用程序重新启动后持久保存到磁盘,我们的应用程序应在脱机情况下无缝工作.

另一个要求是使用Google登录.所以在我MainActivity检查用户是否已登录时,如果没有,我启动了SignInActivity.( SignInActivity来自Firebase示例.)SignInActivity工作,用户登录,并MainActivity再次启动.现在我的应用程序在代码行崩溃,FirebaseDatabase.getInstance().setPersistenceEnabled(true); 并显示以下消息:

必须在FirebaseDatabase实例的任何其他使用之前调用setPersistenceEnabled().

现在,如果我重新启动我的应用程序,用户已登录,SignInActivity未启动,我的应用运行正常.

用户登录后如何避免此崩溃的任何建议?

当我发布这个问题时,我收到了一个重新安置FirebaseDatabase.getInstance().setPersistenceEnabled(true); 到我的"应用程序类"的建议.我得到完全相同的结果...... SignInActivity开始,完成,然后我就崩溃了setPersistenceEnabled.

以下是我的MainActivity onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
    // Crash here upon returning from SignInActivity.  
    FirebaseDatabase.getInstance().setPersistenceEnabled(true);
    mFirebaseDbReference = FirebaseDatabase.getInstance().getReference();

    // Initialize Firebase Auth
    mFirebaseAuth = FirebaseAuth.getInstance();
    mFirebaseUser = mFirebaseAuth.getCurrentUser();
    if (mFirebaseUser == null) {
        // …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-authentication firebase-realtime-database

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

使用Firebase orderByChild进行不区分大小写的排序

我正在使用FirebaseRecyclerAdapter来显示字符串列表.我的查询使用orderByChild.结果首先使用大写字母进行排序,如下所示:

第1项,第2项,第3项,aItem,bItem,zItem.

如何使用orderByChild导致不区分大小写的排序?

case-insensitive firebase firebase-realtime-database

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

在 node-forge 中检测到漏洞

我最近开始了一个新的 Vue.js 项目。在我最近的 GitHub 提交之后,我收到了以下 Dependabot 通知:

在 package-lock.json 中定义的 node-forge < 0.10.0 中检测到的已知高严重性安全漏洞。package-lock.json 建议更新:node-forge ~> 0.10.0。

我该如何更新 node-forge?我已经运行了 npm 审计修复。

node-forge 仅在我的 package-lock.json 文件中,并且是“自签名”依赖项所必需的。

node.js vue.js package.json

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

如何将 pinia 操作标记为私有

我有一个 pinia 商店操作(“主操作”),可以改变商店的状态。这个动作有点复杂,所以我将其分解为更小的“子动作”,每个动作都会改变商店状态的一小部分。

问题:如何将这些子操作标记为私有,以便在组件中使用存储时仅可以调用主操作?

谢谢

pinia

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

使用Firebase查询.equalTo(布尔值,String键)不起作用

我正在尝试查询我的数据以检索按字母顺序排序的项目列表,并按标记为"可见"的项目进行过滤.

这是我的数据结构.

listItems
    list_1_uid
        item_1_uid
            name: "Item 01"
            nameLowercase: "item 01"
            visible: true
        item_2_uid
            name: "zItem 02"
            nameLowercase: "zitem 02"
            visible: false
        item_3_uid
            name: "aItem 03"
            nameLowercase: "aitem 03"
            visible: true
Run Code Online (Sandbox Code Playgroud)

这是我的查询.

mQuery = mFirebaseDbReference
    .child("listItems")
    .child("list_1_uid")
    .orderByChild("nameLowercase")
    .equalTo(true, "visible");
Run Code Online (Sandbox Code Playgroud)

我的查询没有返回数据.如果我删除.equalTo(true,"visible")语句,查询将返回整个字母顺序列表.

有关如何检索我的过滤列表的任何建议?

firebase firebase-realtime-database

2
推荐指数
1
解决办法
3225
查看次数