从 Firebase 数据库检索特定数据

2024-04-08

我正在使用 Firebase 数据库和 Java 在 Android 上创建一个聊天应用程序。每当用户首次注册时,它会将其用户名存储到节点下的数据库中user/UserID/profile/username。用户名使用 User 类存储。这是存储用户名值的位置。但是当我尝试类似的事情时

mDatabase.child("users").child(UserID).child("profile").child("username").toString();

这为我提供了用户名的路径,但不是用户名本身。有谁知道如何获取用户名本身的值?

编辑:当我运行时它给我一个错误

DataSnapshot.child("users").child(mUserID).child("profile").child("username").getValue().toString();

这是我的 Firebase 数据库在 UserID 下显示的内容。


您没有正确获取该值。您需要为您的孩子附加一个侦听器并获取更新。你这样做:

// Get a reference to your user
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("server/path/to/profile");

// Attach a listener to read the data at your profile reference
ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Profile profile = dataSnapshot.getValue(Profile.class);
        System.out.println(profile.getUsername());
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        System.out.println("The read failed: " + databaseError.getCode());
    }
});

您可以在 Firebase 上找到更多信息和示例website https://firebase.google.com/docs/database/admin/retrieve-data。请记住,您不会发出从 Firebase 获取数据的请求。您将侦听器附加到子级,然后从侦听器获取数据。此示例假设您有一个Profile模型,具有获取用户名的方法。这将返回你的Profile对象,并使您能够从该对象中获取所需的任何数据。

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

从 Firebase 数据库检索特定数据 的相关文章

随机推荐

  • Spring表单:选择多个选定值?

    我有这个编辑表格 我希望选择用户的角色 如果这是一对多关系 我知道我可以这样做
  • 如何使 Redirect.INHERIT 和 System.setOut 一起工作

    这可能是一个微不足道的问题 但我无法轻易找到答案 我有一个简单的 Java 程序 System setOut new PrintStream new File stdout txt ProcessBuilder pb new Process
  • 如何使引导轮播上的文本保持不变,而图像移动?

    基本上 我让轮播正常工作 但我只希望图像能够过渡 但每张幻灯片上的文本都相同 理想情况下 文本不会移动 但图像会在背景中移动 这是一个例子 http www bootply com pINPxqzlJ2 http www bootply c
  • ProcessBuilder的正确使用

    经过研究 我注意到使用 java 的 ProcessBuilder 的 正确 方法是生成另外两个线程来管理新创建进程的 stdout stderr 的吞噬 这样它就不会挂起 如下所示 java世界文章 http www javaworld
  • django.db.utils.ProgrammingError:类型“raster”不存在

    我的模型 我在这里创建了 3 个模型 当我迁移时 我收到错误 from django contrib gis db import models from django contrib gis db models fields import
  • Maven 无法使用 OpenJDK 11 找到 jaxb-api,即使它存在于存储库中

    我有一台装有 Windows 操作系统的机器 它用于构建一些 WAR 项目 它有已安装 Java 8在上面 我在用Maven 3 2 5构建这些 WAR 项目 一切正常 但由于 Java 8 由于免费更新的结束而在未来会成为一个问题 所以我
  • 将轮分解添加到不定筛

    我正在修改埃拉托色尼的不定筛here https stackoverflow com a 10733621因此 它使用轮分解来跳过比当前仅检查所有赔率的形式更多的组合 我已经弄清楚了如何生成到达轮子上所有间隙所需的步骤 从那里我想我可以用
  • Azure DevOps 扩展中的节点密码警告 - 发布任务

    我正在开展一个开发 Azure DevOps 发布任务扩展的项目 最近 当发布任务运行时 我在日志中多次打印此警告消息 警告 使用 Cipheriv 作为 aes 256 ctr 的计数器模式 我没有更早得到它 当我开始收到此错误时 我只更
  • C 到 MIPS - 函数和数组

    我正在尝试将以下 C 代码转换为 MIPS 程序集 数组的基地址存储在 a0中 变量索引存储在 a1中 变量 x 存储在 t0 中 void ld array char array int index x array index 当索引是一
  • 如何通过 Grails 使用 imgscalr

    我最近几天才开始使用 Groovy 和 Grails 我之前没有任何 Java 经验 所以您必须原谅这个 可能 非常基本的问题 我搜索了 Google 和 Stack Overflow 但没有找到任何可以帮助我实际安装的内容 我已经可以上传
  • Elasticsearch 通过另一个文档查找文档

    我想在elasticsearch中搜索与id docId给定文档具有完全相同字段的文档 例如用户使用 docId 调用 api 我想过滤文档 以便返回的所有文档都满足 docId 中的某些参数 例如 我可以像这样查询 Elasticsear
  • TypeScript“保存时编译”功能在 Visual Studio 2015 中不起作用

    升级到 Visual Studio 2015 后 保存时编译 功能对我不起作用 当我对 ts将文件添加到我的项目中并保存 IDE 底部的状态栏显示Output s generated successfully 但是生成的 js文件没有改变
  • Linux/C下判断两个文件路径是否指向同一个文件?

    在Linux下 我有两个文件路径A和B const char A const char B 我现在想确定 我是否应该open 2 他们俩 int fda open A int fdb open B 我会在文件系统中打开同一个文件的两个文件句
  • Asp.Net Mvc 3 客户端验证、属性生成

    Asp net Mvc3 在输入元素上添加了一些自定义属性 例如 data val required 以执行验证 我知道这背后的所有理论 以及它是如何运作的 我想知道的是 当我在 using Html BeginForm 中创建表单时 它会
  • 如何使用seaborn为我的DataFrame创建堆积条形图[重复]

    这个问题在这里已经有答案了 我有一个数据框df df pd DataFrame columns App Feature1 Feature2 Feature3 Feature4 Feature5 Feature6 Feature7 Featu
  • 如何解析非结构化表状数据?

    我有一个text file保存操作的一些结果 数据显示在human readable format 就像一张桌子 我如何解析这些数据 以便形成一个数据结构 例如dictionaries有了这个数据 的一个例子unstructured dat
  • 获取所有不到一个月的物品

    有没有办法在 Django 中获取日期小于一个月前的所有对象 就像是 items Item objects filter less than a month old order by 你对 月 的定义是什么 30天 31天 除此之外 这应该
  • 如何将参数值传递给 a4j:jsFunction

    在我的页面上有一个按钮 可以在弹出窗口中打开项目列表 当我在列表中选择一个项目时 我想将该项目的 id 传递给我的第一页的 backingbean 是否可以 它尝试这样做a4j jsFunction and a4j param但它不起作用
  • 如何在 php 中创建可编辑的 Pdf 表单

    我有一个简单的表单 我想使用 php 使其可以在 pdf 中编辑 但是 pdf 正在创建表单 但我无法编辑和提交它 有什么原因或者我无法使用 php 编辑 pdf 我的代码是
  • 从 Firebase 数据库检索特定数据

    我正在使用 Firebase 数据库和 Java 在 Android 上创建一个聊天应用程序 每当用户首次注册时 它会将其用户名存储到节点下的数据库中user UserID profile username 用户名使用 User 类存储 这