GVKun编程网logo

Java Firebase:延迟退出,直到写入完成(java延迟执行)

28

对于JavaFirebase:延迟退出,直到写入完成感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍java延迟执行,并为您提供关于android–Firebase:登录前写入数据库、andro

对于Java Firebase:延迟退出,直到写入完成感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍java延迟执行,并为您提供关于android – Firebase:登录前写入数据库、android – 库com.google.firebase:firebase-analytics正在被各种其他库请求、android – 找不到com.google.firebase:firebase-database:9.2.0、android – 无法解决:com.google.firebase:firebase-analytics:9.0.0的有用信息。

本文目录一览:

Java Firebase:延迟退出,直到写入完成(java延迟执行)

Java Firebase:延迟退出,直到写入完成(java延迟执行)

我有一台用Java编写的服务器,它在侦听,处理和更新Firebase数据时可以收到关闭信号。由于Firebase线程是Java中的守护程序线程,因此我想给主线程增加一些延迟以允许写操作完成。

我当前的想法是闩锁方法:使用一些并发计数器来跟踪挂起的写操作,并在没有线程时退出主线程。该计数器将在onComplete()回调中更新,所以我想知道:

在Firebase客户端中,何时onComplete()永远不会调用回调?是否有合理的僵局危险?

android – Firebase:登录前写入数据库

android – Firebase:登录前写入数据库

我在我的 Android应用程序中使用Firebase.
我的目的是应用程序的用户应该能够将数据写入数据库,但我不希望用户注册,因此我使用匿名登录.

我有一个用户可以提交的表单,并将提交给数据库.在提交时,可能无法匿名登录.我是否可以在Firebase中调用数据库的写入指令并将其写入本地并在用户匿名登录时提交?

我知道Firebase确实提供了离线功能.但我假设如果我在登录前调用写入数据库,它会给我一个错误.

解决方法

在开发应用程序时我有同样的顾虑.如果用户将手机置于飞行模式或首次启动时处于脱机状态,则可能会在匿名身份验证成功完成之前达到需要保存数据的程度.

解决方法是在数据库中创建一个可由任何人写入的“未经身份验证的”树,但只有在经过身份验证后才可读.对用户进行身份验证后,您可以将数据复制到适当的位置,并删除未经身份验证的区域中写入的任何数据.您可以将要写入的数据排队,Firebase将在用户联机时自动写入.

诀窍是在未经身份验证的树中获取推送ID,您将用作临时用户ID.应使用SharedPreferences或您选择的其他方法在本地持久保存此值.

db = FirebaseDatabase.getInstance();
    db.setPersistenceEnabled(true);

    dbRef = db.getReference();

    // This key should be saved on the user''s device until authenticated
    String key = dbRef.child("unauthenticated").push().getKey();

    // Write some data 
    dbRef.child("unauthenticated").child(key)
         .child("somedata").setValue("testing");

只要网络连接可用,您对此子项的任何写入都将保留.将侦听器附加到此临时键可能如下所示……

dbRef.child("unauthenticated").child(key).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Log.d("DB","Got value from database: " + dataSnapshot.child("somedata").getValue());

            if(FirebaseAuth.getInstance().getCurrentUser() != null) {
                /** If user is authenticated,move data to authenticated location **/
            }
        }
        @Override public void onCancelled(DatabaseError databaseError) {}
    });

android – 库com.google.firebase:firebase-analytics正在被各种其他库请求

android – 库com.google.firebase:firebase-analytics正在被各种其他库请求

我在更新Firebase库时遇到此错误:

The library com.google.firebase:firebase-analytics is being requested
by varIoUs other libraries at [[15.0.1,16.0.0),[16.0.1,16.0.1],
[16.0.1,99999]],but resolves to 16.0.1. disable the plugin and check
your dependencies tree using ./gradlew :app:dependencies.

依赖关系是:

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-appindexing:16.0.1'
implementation 'com.google.firebase:firebase-crash:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.2'
implementation 'com.google.firebase:firebase-invites:16.0.1'
implementation 'com.google.firebase:firebase-config:16.0.0'
implementation 'com.google.firebase:firebase-ads:15.0.1'
implementation 'com.google.firebase:firebase-firestore:17.0.2'

有没有一种简单的方法来找到正确的配置?
如果没有,什么插件将被禁用以及如何?如果我只是运行任务我得到相同的错误.

更新:
我认为这种依赖有一些事情要做,因为如果禁用它插入依赖任务运行:

implementation 'com.google.android.gms:play-services-auth:15.0.1'

解决方法

尝试使用以下步骤:

>更新您的实施版本(对于最新的firebase版本,请参阅发行说明https://firebase.google.com/support/release-notes/android)
>使用最新的google-services版本更新项目build.gradle文件(目前classpath’com.google.gms:google-services:4.0.1)

或者见this similar post

android – 找不到com.google.firebase:firebase-database:9.2.0

android – 找不到com.google.firebase:firebase-database:9.2.0

我正在尝试将新的firebase数据库安装到我的应用程序中,但是由于下一个错误而失败:

Error:Could not find com.google.firebase:firebase-database:9.2.0. required
by:
appName:app:unspecified

比我克隆官方谷歌示例frome here并试图建立数据库示例,但我仍然得到相同的错误…

看起来这是因为一些谷歌错误.我对吗?
在其他情况下,为什么会发生以及如何解决这个问题?

解决方法:

您必须更新/安装Google Repository,版本30(您的android studio最新版本).

android – 无法解决:com.google.firebase:firebase-analytics:9.0.0

android – 无法解决:com.google.firebase:firebase-analytics:9.0.0

参见英文答案 > Failed to resolve: com.google.firebase:firebase-core:9.0.0                                    11个
根据谷歌I / O 2016,我知道“Firebase”,它对我来说非常好,但我不能使用它,因为这个错误.我已经得到一个解决方案,将“Google Play服务”更新为30,但没有更新提示.

enter image description here

解决方法:

您必须更新SDK Manager

enter image description here

你也必须使用

classpath 'com.google.gms:google-services:3.0.0'

在您的buildscript块中,此版本必须与Google Play服务9.0()一起使用.

我们今天的关于Java Firebase:延迟退出,直到写入完成java延迟执行的分享就到这里,谢谢您的阅读,如果想了解更多关于android – Firebase:登录前写入数据库、android – 库com.google.firebase:firebase-analytics正在被各种其他库请求、android – 找不到com.google.firebase:firebase-database:9.2.0、android – 无法解决:com.google.firebase:firebase-analytics:9.0.0的相关信息,可以在本站进行搜索。

本文标签: