Firebase 使用 java(非 android)检索信息

2023-11-30

我一直在尝试使用 java 代码(非 android)获取 firebase 数据库的数据。我使用了与在 android 应用程序中检索相同的方法。但它没有获取数据。

    Firebase firebase = new Firebase("https://------.firebaseIO.com");
    firebase.addValueEventListener(new ValueEventListener(){
        @Override
        public void onDataChange(DataSnapshot ds) {
            long i = ds.child("Users").getChildrenCount();
            userlist = new String[(int)i];
            int j = 0;
            for( DataSnapshot each_ds : ds.getChildren() ){
                userlist[j] = each_ds.child("username").getValue().toString();
                System.out.println(userlist[j]);
                j++;
            }
        }

        @Override
        public void onCancelled(FirebaseError fe) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    });

Firebase 客户端在单独的线程中建立与服务器的连接,并开始侦听那里的数据。当没有更多代码要执行时,程序的主线程将继续并退出,这通常发生在 Firebase 取回第一个数据之前(可能需要几秒钟)。

所以你必须等待数据返回。对于测试程序,我通常通过插入一个简单的Thread.sleep()在我的程序结束时:

Thread.sleep(20000);

但在真实的程序中,您可能想要找出更好的退出条件。例如,这里我们使用一个CountDownLatch让主代码等待操作完成:

final CountDownLatch sync = new CountDownLatch(1);
ref.push().setValue("new value")
   .addOnCompleteListener(new OnCompleteListener<Void>() {
      public void onComplete(Task<Void> task) {
        sync.countDown();
      }
    });
sync.await();

顺便说一下,不要在 Android 中使用这种方法,因为它会阻塞主/UI 线程并使应用程序无响应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 使用 java(非 android)检索信息 的相关文章

  • Java 多头中的斐波那契计算显示负值

    我的斐波那契计算器工作正常 但当数字增加时 结果会出现负值 就像它是一个Integer超过其最大值 它正在使用缓存java util Map
  • Java 的 System.arraycopy() 对于小数组有效吗?

    是Java的System arraycopy 对于小数组来说是高效的 或者它是本机方法这一事实是否使其可能比简单的循环和函数调用效率低得多 本机方法是否会因跨越某种 Java 系统桥梁而产生额外的性能开销 稍微扩展一下 Sid 所写的内容
  • 如何在不改变的情况下将字符串转换为字节?

    我需要一个解决方案将字符串转换为字节数组而不需要像这样进行更改 Input String s Test Output String s Test byte b Test 当我使用 s getBytes 那么回复是 B 428b76b8 但我
  • 使用 spring security 找不到 AuthenticationProvider

    我一直在尝试使用 x509 证书通过 LDAP 对用户进行身份验证 但似乎无法正常工作 我声明了一个身份验证提供程序 但仍然抛出错误 提示没有提供程序 这是我的调试输出 INFO Initiating Jersey application
  • 使用 Java 检索 Window 进程的 CPU 使用率

    我正在寻找一个 Java 解决方案来查找 Windows 中正在运行的进程的 CPU 使用情况 查了一下网上 关于Java解决方案的信息似乎很少 请记住 我并不是要查找 JVM 的 CPU 使用情况 而是要查找当时在 Windows 中运行
  • 如何使用java避免Mysql数据库中的“数据因列被截断”?

    在我的 Java 程序中 Hibernate Bean 类定义一列 例如 TimtableVO java Column name REPEAT DAYS private WeekdayType repeatDays hear Weekday
  • Stream#limit 返回的元素是否可以少于预期?

    如果流s下面至少有n元素 流在什么情况下sLimit可能少于n元素 如果有的话 Stream sLimit s limit n 提问原因 在这个答案 https stackoverflow com a 28082107 829571 我读到
  • 如何使用 JAVA 和 ADB 命令检查 Appium 中键盘是否打开

    我正在尝试检查 Android 默认键盘是否打开 我没有找到任何可以在 Appium 中使用 JAVA 和 ADB 命令检查键盘的内容 我发现这个 ADB 命令可以检查键盘是否打开 adb shell dumpsys input metho
  • 使用 eclipse 配置mockito 时出现问题。给出错误:java.lang.verifyError

    当我将我的mockito库添加到类路径中 并使用一个简单的mockito示例进行测试时 我尝试使用模拟对象为函数add返回错误的值 我得到java lang verifyerror 以下是用于测试的代码 后面是 logcat Test pu
  • 将 @RequestLine 与 Feign 一起使用

    我有一个工作 Feign 接口定义为 FeignClient content link service public interface ContentLinkServiceClient RequestMapping method Requ
  • 在同一台计算机上设置 JBoss 的多个实例

    我在 JBoss 社区中找到了下一页 http www jboss org community wiki ConfigurePorts http www jboss org community wiki ConfigurePorts 有下一
  • Java中如何限制文件大小

    我正在我的应用程序中创建一个文件 并继续向该文件中写入一些内容 但是当我的文件达到一定大小 比如说 100 行 后 我想删除第一行并将新行写入底部 要求是我的文件应该受到限制 但它应该保留我写入文件的最新内容 请告诉我在Java中是否可行
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • 使用 onAuthStateChanged 通过 Flutter 登录 Firebase

    在 Flutter 之外 当我实现 firebase 身份验证时 我总是使用 firebase 提供的 onAuthStateChanged 侦听器来确定用户是否登录并做出相应响应 我正在尝试使用 flutter 做类似的事情 但我可以找到
  • JBoss 5 截断 base64 cookie 字符串的尾部 =

    从 JBoss 4 升级到 JBoss 5 后 我注意到最烦人的回归 它截断 base64 cookie 值的尾部等号 我花了很长时间才明白问题不是我的代码而是 JBoss 的 我用 google 搜索了一下 发现这是一个已知的问题issu
  • 从 AJP 连接器请求中检索 Shibboleth 属性

    当我在 Apache 上运行 Shibboleth 身份验证时遇到了一个奇怪的问题 当 Tomcat7 在后端运行时 Apache 通过 mod proxy ajp 发送所有内容 Shibboleth 的参数也是如此 In the 文档 h
  • 从 Firebase 实时数据库 + 存储加载图像

    我正在使用 Firebase 文档 react redux firebase 中的 create react app 创建类似汽车图片库的东西 图像信息存储在 Firebase 实时数据库中 但实际图像文件存储在 Firebase 存储中
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下
  • Java applet 是否会违反同源策略

    我需要请求一些东西并从其他域获取信息 我知道由于同源政策 javascript 无法做到这一点 我的另一个选择是通过我的服务器发出代理请求 我不希望请求来自我的服务器的 IP 也不想为我的服务器创建额外的负载 并且希望客户端这样做 是否可以

随机推荐

  • 解析复杂的肥皂响应

    我正在 android 中构建我的第一个应用程序 该应用程序使用 wcf 服务 我正在使用 ksoap2 来解析响应 响应实际上是 C 中定义的对象数组 我这样做了 这非常有帮助guide现在我的问题是我需要使用一个 wcf 服务 它再次返
  • 如何在 OPENGL 中旋转或平移单个对象实例?

    假设我有一个有四个立方体的场景 我该如何说在 OpenGL 中仅旋转 平移其中两个立方体而不使用 glrotatef 和 f gltranslate 更改其他立方体 我不想定义我自己的齐次坐标 像往常一样绘制前两个立方体 推入视图模型矩阵
  • iPhone 上的点击延迟和抑制输入焦点

    iPhone 上的 webkit 浏览器在用户进行触摸和 javascript 获取单击事件之间有 300 毫秒的延迟 发生这种情况是因为浏览器需要检查用户是否进行了双击 我的应用程序不允许缩放 因此双击对我来说毫无用处 有不少人有提出的解
  • 如何安全地调用 vsnprintf() ?

    我正在将一些非常古老 gt 10 年 的 C 代码移植到现代 Linux 我在自定义编写的 vsnprintf 包装器中遇到分段错误 显然它的任务是检测重复的输出字符串并实习它们 char strVPrintf const String f
  • Oracle中的查询通过子查询进行选择

    我的 Oracle 数据库中有下表 CREATE TABLE test flight NUMBER 4 date DATE action VARCHAR2 50 CONSTRAINT pk PRIMARY KEY flight date 以
  • 为什么 Glimpse 仍在运行?

    我瞥见了 defaultRuntimePolicy Off 但它仍然显示这样的错误 Unable to define EFProfiledDbProviderServices class of type GlimpseDbProviderS
  • 使用 TensorFlow Benchmark 对 Keras 模型进行基准测试

    我正在尝试使用 TensorFlow 后端对 Keras 模型构建的推理阶段的性能进行基准测试 我当时想的是张量流基准测试工具是正确的方法 我已经成功地在桌面上构建并运行了示例tensorflow inception graph pb一切似
  • 为什么我的 WM_UNICHAR 处理程序从未被调用?

    我有一个 ATL 控件 我希望它能够识别 Unicode 我为 WM UNICHAR 添加了一个消息处理程序 MESSAGE HANDLER WM UNICHAR OnUniChar 但是 由于某种原因 OnUniChar 处理程序永远不会
  • 如何使用 java.util.stream 处理文件块

    为了熟悉流 api 我尝试编写一个非常简单的模式 Problem 拥有一个包含非嵌套文本块的文本文件 所有块均由开始 结束模式标识 例如
  • 我可以同时安装 Powershell 4 和 Powershell 3 吗?

    我的盒子上安装了 Powershell 3 我需要使用 Powershell 4 测试一些脚本 但我想继续运行在 Powershell 3 下测试的一些脚本 并且我不想通过安装 Powershell 4 来破坏某些内容 QUESTION 尽
  • Spark Streaming + json4s-jackson 依赖问题

    我无法在我的 Spark 1 4 1 流应用程序中使用 json4s Jackson 3 2 11 认为是 Spark Core 项目中现有的依赖关系导致了问题 如此处所述 gt 是否可以将 json4s 3 2 11 与 Spark 1
  • Python:如何OCR水平线交叉的字符

    我有一批想要扫描的图像 其中一些有一条水平线穿过必须扫描的字符 如下所示 我编写了一个能够删除水平线的程序 import cv2 import numpy as np img cv2 imread image jpg 0 Applies t
  • 如何约束迭代器的元素类型?

    我正在将一些较旧的 Rust 代码转换为在 1 0 0 上运行 我需要转换一个采用字符迭代器的函数 该函数过去是这样写的 fn f
  • 如何根据Python中数据集的最佳拟合确定微分方程的未知参数?

    我正在尝试使用 python 将不同的微分方程拟合到给定的数据集 因此 我分别使用 scipy 包和solve ivp 函数 只要我对微分方程中包含的参数 b 0 005 有一个粗略的估计 这对我来说就很好 例如 import matplo
  • Android自定义形状

    I know it is possible to make a shape looking something like this 但我不知道如何开始 我可以把它做成一个形状吗 或者我必须做别的事情吗 BR 哦 看看那个 我错了 渐变不是问
  • 多次按键无法解决左侧和空间问题?

    I have a strange problem when I press up left arrows and space simultaneously Why doesn t the space work I tried to test
  • 使用 pvfactors 库时出现“OSError: [WinError 126] 找不到指定的模块”

    我开始按照网站教程使用 Python 中的 pvfactors 工具 它计算光伏阵列表面上的辐照度入射 1 import numpy as np import matplotlib pyplot as plt from datetime i
  • 如何创建 const boost::iterator_range

    评论于为什么 boost find first 对它的输入采用非常量引用 建议 调用者使用 const iterator 模板参数创建一个非常量 iterator range 以 证明 迭代对象具有足够的生命周期 这是什么意思以及我该怎么做
  • 刷新后保持选项处于选中状态

    我有一个按插入选择中的两个参数排序的人员列表 当有人选择一个参数时 如何在刷新或更改 返回页面时保持该参数的选择 我在互联网上的一些帖子上看到了一些问题 但大多数都使用 JQuery 而我不想使用它 代码是这样的
  • Firebase 使用 java(非 android)检索信息

    我一直在尝试使用 java 代码 非 android 获取 firebase 数据库的数据 我使用了与在 android 应用程序中检索相同的方法 但它没有获取数据 Firebase firebase new Firebase https