当前位置: 首页 > 知识库问答 >
问题:

基本Firebase/Java读/写

薛望
2023-03-14

我现在觉得自己很蠢。我以前做过相当多的Android Studio/Java/Firebase编码,对此相当满意。在Rest了一段时间后,我刚刚回到它,我已经更新了所有的最新版本,我只是不能让我的测试应用程序与数据库对话。

我创建了一个新的Firebase项目,下载了谷歌服务文件,使用了Android Studio助手--它告诉我我已经连接了--并使用了文档中简单的读/写“Hello World”代码。

我几乎没有什么可以改变的了,所以我对本应如此简单的事情感到非常沮丧--我很可能正在做一些愚蠢的事情。

任何关于为什么会发生这种情况的想法都将不胜感激。

Android Studio 3.2.1,Firebase libs 16.0.4,SDK版本28,google services 4.2.0

代码基本上是直接从文档中获取的。

提亚。

    database = FirebaseDatabase.getInstance();
    myRef = database.getReference("Message");

    // Write
    myRef.child("Monday").setValue("Hello, Lovely World!");

    // Read
    ValueEventListener listener;
    listener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // This method is called once with the initial value and again
            // whenever data at this location is updated.
            String value = dataSnapshot.getValue(String.class);
            String key = dataSnapshot.getKey();

            Log.e(TAG, "Key is : " + key + " Value is: " + value);
        }

        @Override
        public void onCancelled(DatabaseError error) {
            // Failed to read value
            Log.e(TAG, "Failed to read value.", error.toException());
        }
    };
    myRef.addValueEventListener(listener);

共有1个答案

郭华美
2023-03-14

基本上你做对了。

但是请记住FirebaseDatabase.getInstance().getReference()表示数据库的根。

因此,您可能想尝试myref.child(“sample_key”).setvalue(“sample_value”);

myref.child(“sample_key”).addValueEventListener(listener)表示只侦听sample_key的值。

当您不再需要时,请记住调用removeEventListener(listener)

  • 仔细阅读文档,它使用DatabaseReference usersRef=ref.child(“users”);将值保存到child,而不是ref本身。
 类似资料:
  • 我开始使用实时数据库创建react原生android应用程序,但后来意识到我不能执行一些查询(比如哪里),所以我改到了云firestore,但我发现将实时数据库的代码改到云firestore有困难。我有这个实时数据库工作得很好 我试图在cloud firestore中生成上面的代码,如下所示,但不起作用(弹出一个typeerror并声明Snapshot.val不是函数)。

  • 问题内容: Firebase SDK 9.0.0令人兴奋,但是我找不到其库的纯Java版本。在旧的2.5.2 DOC 曾经有Android和普通的JVM独立的SDK,我不能找到在这个信息的新文档。 有没有办法将此SDK用于非Android项目(例如JavaFX)?如果不是,我在JavaFX项目上仍然使用旧的2.5.2 SDK是否会遇到问题? 问题答案: 是的你可以。在文档中的“ 服务器 ”下而不是

  • 问题内容: 我有一个不断从网站获取信息并不断更新的程序。到目前为止,我将所有这些信息存储在中,然后在完成后将其写入文本文件。 我需要操纵这些信息;但是,它创建了一个庞大的文本文件,并且我花时间太长,因此无法不断地将信息写入文本文件。因此有人告诉我要研究使用数据库。我曾经使用过的唯一数据库是网站的MySQL数据库,从来没有使用过Java。 有什么办法可以使数据库本地化?就像仅在我的计算机上一样(当我

  • 我昨晚开始学习Java,我正在努力编写我的第一个代码,而不是听写给我! 这是一个简单的问答题,问用户“你觉得我的狗可爱吗?”如果他们回答“是的”,狗会求爱并微笑。如果他们说“不”,他对他们咆哮并皱眉。如果给出了不同的答案,则会打印“什么?请重试”。 到目前为止,我对这个问题的解决没有任何问题,但现在我正在尝试这样做,当一个未被识别的答案被输入时,这个问题会再次被问出来,并且这个问题会重复,直到他们

  • 主要内容:示例在本章中,我们将演示如何读取Firebase数据。 下图显示了想要读取的数据 - 可以使用方法来检索数据。 此方法将事件类型作为“值”,然后检索数据的快照。 当我们将方法添加到快照时,将获得数据的JavaScript表示形式。 示例 下面来看看一个例子。 如果运行下面的代码,浏览器的控制台将显示以下数据。 在下一章中,我们将学习可用于读取数据的其他事件类型。

  • 我想使用Android Studio和Firebase制作一个在线QuizGame。第一步将是一个玩家的游戏模式,他可以从服务器获得问题。代码本身不是大问题,但我对FiRecovery的读取/定价有疑问。 游戏将是这样的:一轮,5个问题。我想让数据库看起来像这样: 项目:类别(集合)- 我的一般问题是,假设我正在寻找一个ID。例如,我的类别集合中有50个ID。如果我启动一个查询,它会检查每个条目,