这是我遍历数据库的java代码。
mref = new Firebase("https://social-axxxxxcf.firebaseio.com/user");
mref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
String email=userSnapshot.child("email").getValue().toString();
String urL=userSnapshot.child("url").getKey().toString();
Log.e("Datas= ",email+" " +url);
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("TAG= ",firebaseError.getMessage());
}
});
我的问题是,当我运行此代码时,我的应用程序崩溃,甚至日志中的错误都没有显示 任何人都可以帮助我。
答案 0 :(得分:2)
由于您在ChildEventListener
上使用/user
,因此 onChildAdded
下的每个节点都会调用/user
。这意味着您不需要循环dataSnapshot.getChildren()
:
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String email=dataSnapshot.child("email").getValue(String.classs);
String urL=dataSnapshot.child("url").getValue(String.class);
Log.e("email="+email+" url="+url);
}
答案 1 :(得分:0)
检查以下链接它是使用android实现firebase的工作示例。