我是android开发的新手。这是我在firebase助手上复制的代码
import android.nfc.Tag;
import android.util.Log;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class FirebaseDB {
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();
myRef.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnopshot){
String value = dataSnopshot.getValue(String.class);
Log.d(Tag, "Value is: " + value);
}
@Override
public void onCancelled(DatabaseError error) {
Log.w(Tag, "Failed to read value.", error.toException());
}
});
}
我正在使用android studio 2.3.3
我的问题是,myRef.addValueEventListener变成了错误,虽然myRef是继承Query类的DatabaseReference。我尝试DatabaseReference myRef = new DatabaseReference();
仍然给我一个错误,new ValueEventListener()
,DataSnopshot dataSnopshot
和DatabaseError error
同样适用于Tag
这是build.gradle和firebase助手
感谢您的帮助。
答案 0 :(得分:0)
这看起来像是firebase和appcompat依赖问题。
firebase 10.0.2
现在已经很老了。
最新版本是
compile 'com.google.firebase:firebase-database:11.2.2
此外,buildtools版本为26,与您的targetsdk版本24冲突
答案 1 :(得分:0)
可能是您的错误是由您的gradle中的sdk工具和库冲突引起的。因此,请尝试将您的support
库版本更新为最新版本,目前为26.0.0-alpha1
或至少25.3.1
。
例如compile 'com.android.support:appcompat-v7:25.3.1'
然后将您的firebase
依赖项更新为最新版本11.2.2
。
注意:升级firebase
库后,有一些新规则
compileSdkVersion
必须26
也将targetSdkVersion
升级为26 maven.google.com
上直接使用,如下所示: allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
有关详情,请参阅:https://firebase.googleblog.com/2017/08/some-updates-to-apps-using-google-play.html