Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基本阅读及;在Android上使用Firebase编写_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 基本阅读及;在Android上使用Firebase编写

Java 基本阅读及;在Android上使用Firebase编写,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,所以我开始学习Android,一位同事——他是一名应届毕业生——在我实习的地方,他建议我学习Firebase,因为Firebase是免费且易于使用的。我正在尝试做最基本的读写操作,但由于某些原因我做不到。我搜索了许多不同的文章,但找不到原因。甚至说同事想帮我但还是 我连接到Firebase,提供了所需的权限等。Firebase statics显示了一个连接到它的应用程序 我正在关注Firebase自己的文档,但Firebase自己的代码在我的应用程序上不起作用 上述代码: // Read fro

所以我开始学习Android,一位同事——他是一名应届毕业生——在我实习的地方,他建议我学习Firebase,因为Firebase是免费且易于使用的。我正在尝试做最基本的读写操作,但由于某些原因我做不到。我搜索了许多不同的文章,但找不到原因。甚至说同事想帮我但还是

我连接到Firebase,提供了所需的权限等。Firebase statics显示了一个连接到它的应用程序

我正在关注Firebase自己的文档,但Firebase自己的代码在我的应用程序上不起作用

上述代码:

// Read from the database
myRef.addValueEventListener(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);
        Log.d(TAG, "Value is: " + value);// "TAG" shows red
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});
我缺少的东西可能很简单。但就像我说的,我查阅了很多文章。首先,我只想在数据库上写一些东西,从中读取一个字符串,然后在屏幕上打印出来

编辑:我得到的编译器错误是:(太长,无法粘贴为文本)


就像代码不起作用一样,我所关注的Firebase文档给出了编译器错误。我尝试过的文章中的其他代码不会更新数据库或从中读取数据。

提示->粘贴此代码并仔细查看数据是如何作为键值对的映射进行结构的

@Override 
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, "dataSnapshot: " + String.valueOf(dataSnapshot));

for (DataSnapshot dataSnapshotItem : dataSnapshot.getChildren()) {
 Log.d(TAG, "Inside: " + String.valueOf(dataSnapshotItem));
}
}

我发现您没有在firebase控制台中定义规则,因此您没有读写权限,请按照以下步骤进行操作:

  • 转到firebase控制台
  • 选择数据库并单击实时数据库
  • 在制表符手册中,您可以看到规则选项卡,在规则选项卡中设置如下规则

    {
      "rules": {
         ".read": "auth == null",
         ".write": "auth == null"
        }
    }
    

检查插入或检索操作是否有效。

代码无效不是问题的充分描述。我强烈推荐阅读…你能分享错误信息吗?我们很难在这方面提供帮助。谢谢:)我更新了帖子。@Rümeysaa您正在
myRef
位置读取数据。这是如何声明的?请同时添加您的数据库结构。