Java Firebase数据的Android Studio值事件侦听器
一般来说,我对Android和Firebase都是新手,但我已经搜索了很长时间,在我的案例中没有找到我的问题的答案。我想用firebase连接建立一个Android项目。为了做到这一点,我成功地同步了该项目,并遵守了官方文件规定的所有步骤 环境 我使用Android Studio 3.5.1 错误描述 我的错误是,当我运行主活动时,我得到“错误:找不到符号类DatabaseError”。将鼠标悬停在ValueEventListener上时,我收到错误“类”“从ValueEventListener派生的匿名类”“必须声明为抽象类,或在“ValueEventListener”中实现抽象方法“onCancelled(DatabaseError)” 这是我的主要活动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
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());
}
});
}
}