System.out.println(ref.child("[email protected]").child("_email"));
*我真的试图让孩子的价值,但所有的时间我得到的值 的URL如何为我这段代码尝试获得这个网址的价值,但它找到我希望获得_email值的URL。检索子值-firebase-
System.out.println(ref.child("[email protected]").child("_email"));
*我真的试图让孩子的价值,但所有的时间我得到的值 的URL如何为我这段代码尝试获得这个网址的价值,但它找到我希望获得_email值的URL。检索子值-firebase-
您正在寻找从错误的角度观的数据。 在使用ref.child("[email protected]").child("_email")
时,您只是简单地指向数据库中的某个特定位置,而不再是其他任何地方。 如果您想要检索特定位置的数据,请考虑以下两种方式。
首先,如果你要检索的数据只有一次,你可以做到以下几点:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
DatabaseReference mostafa = ref.child("Users").child("[email protected]").child("_email");
mostafa.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String email = dataSnapshot.getValue(String.class);
//do what you want with the email
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
或者也许你想获取实时值,并在同一时间使用它的数据库值都是在同一时间,只要价值在变,那么你用这个:
mostafa.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String email = dataSnapshot.getValue(String.class);
display.setText(email);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
注意两种方法的区别。首先是仅一次检索,第二次是每当数值改变时检索数据。
只是要记住,我发布的代码只是模板,可能需要与他们一起玩。
随着ref.child("[email protected]").child("_email")
你是刚刚设置参照对象。看看java firebase documentation to retrieve data。
为了让你将需要设置一个监听器,供大家参考
ref.child("[email protected]").child("_email").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
// data available in snapshot.value()
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
upvoted for'addValueEventListener'。 –