Android:“无法在Firebase

时间:2017-05-03 03:41:24

标签: android firebase android-contentresolver

我尝试导入各种Firebase软件包以阻止此错误发生,但它仍然存在。我正在尝试做一些事情:

   firebase.addValueEventListener(new ValueEventListener() {

但我一直收到错误:

Cannot Resolve symbol 'addValueEventListener'

尽管我已经导入了ValueEventListener。 (可能需要注意的是,ValueEventListener在IDE中显示为未使用的导入,即使我明显尝试使用它)

2 个答案:

答案 0 :(得分:0)

确保您正在实例化并在方法(例如OnStart(){}或您正在使用的类的构造函数中添加方法。如果不是,它将与您描述的方式类似。

此问题的示例:

public class ReadFromFireBase(){

 private DatabaseReference mDatabase;

public ReadFromFireBase(){
}

ValueEventListener postListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // Get Post object and use the values to update the UI
        Post post = dataSnapshot.getValue(Post.class);
        // ...
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message
        Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        // ...
    }
};
mDataBase.addValueEventListener(postListener);




} 

这不起作用,抛出类似于你得到的错误,给出听众结构的方式是一个容易犯的错误

正确的方法是:

public class ReadFromFireBase(){

 private DatabaseReference mDatabase;
 private ValueEventListener postListener;


   public ReadFromFireBase(){
   postListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // Get Post object and use the values to update the UI
        Post post = dataSnapshot.getValue(Post.class);
        // ...
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // Getting Post failed, log a message
        Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
        // ...
    }
};
mDataBase.addValueEventListener(postListener);
}






} 

答案 1 :(得分:0)

package com.example.firebase;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.ValueEventListener;

导入这些软件包,您的错误将得到解决。