Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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 Firebase数据的Android Studio值事件侦听器_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java Firebase数据的Android Studio值事件侦听器

Java Firebase数据的Android Studio值事件侦听器,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,一般来说,我对Android和Firebase都是新手,但我已经搜索了很长时间,在我的案例中没有找到我的问题的答案。我想用firebase连接建立一个Android项目。为了做到这一点,我成功地同步了该项目,并遵守了官方文件规定的所有步骤 环境 我使用Android Studio 3.5.1 错误描述 我的错误是,当我运行主活动时,我得到“错误:找不到符号类DatabaseError”。将鼠标悬停在ValueEventListener上时,我收到错误“类”“从ValueEventListener

一般来说,我对Android和Firebase都是新手,但我已经搜索了很长时间,在我的案例中没有找到我的问题的答案。我想用firebase连接建立一个Android项目。为了做到这一点,我成功地同步了该项目,并遵守了官方文件规定的所有步骤

环境

我使用Android Studio 3.5.1

错误描述

我的错误是,当我运行主活动时,我得到“错误:找不到符号类DatabaseError”。将鼠标悬停在ValueEventListener上时,我收到错误“类”“从ValueEventListener派生的匿名类”“必须声明为抽象类,或在“ValueEventListener”中实现抽象方法“onCancelled(DatabaseError)”

这是我的主要活动

package com.example.test2;
导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.util.Log;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//向数据库写入消息
FirebaseDatabase=FirebaseDatabase.getInstance();
DatabaseReference myRef=database.getReference(“消息”);
myRef.setValue(“你好,世界!”);
//从数据库中读取
myRef.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
//使用初始值调用此方法一次,然后再次调用
//每当更新此位置的数据时。
String value=dataSnapshot.getValue(String.class);
Log.d(标签,“值为:”+值);
}
@凌驾
已取消的公共无效(DatabaseError错误){
//无法读取值
Log.w(标记“读取值失败”,error.toException());
}
});
}

}
您的代码看起来不错您是否已将
classpath'com.google.gms:google services:4.2.0'
添加到您的project gradle依赖项中?
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

// Write a message to the database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("message");

        myRef.setValue("Hello, World!");

// Read from the database
        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull 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);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {
                Log.w("TAG", "Failed to read value.", error.toException());
            }
        });
   }

}