【发布时间】:2018-04-23 16:17:40
【问题描述】:
从这个 firebase 数据库读取时,它总是返回 null 而不是我需要的值。
我尝试以 String.class 的形式将其拉出,但它仍然为空。
我需要从数据库中提取的只是 int dose,在这种情况下,pName 变量将是 dfdf
final FirebaseDatabase aDatabase = FirebaseDatabase.getInstance();
final DatabaseReference mDatabase = aDatabase.getReference();
DatabaseReference myRef = aDatabase.getReference(pName).child("dose");
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
Integer Value = dataSnapshot.getValue(Integer.class);
String peter = Integer.toString(Value);
count.setText(peter);
}
@Override
public void onCancelled(DatabaseError error) {
count.setText("E");
}
});
【问题讨论】:
-
1) 尝试改用
addListenerForSingleValueEvent2) 记录dataSnapshot的值或在调试器中设置断点。 -
将此
final FirebaseDatabase aDatabase = FirebaseDatabase.getInstance();替换为final DatabaseReference aDatabase = FirebaseDatabase.getInstance(); -
添加单值事件仍然返回 null 我还在活动上使用按钮侦听器更改此值,所以我真的不想使用此方法(尽管我确实尝试过)。
-
firebaseDatabases 和 DatabaseReference 是您告诉我实例化数据库引用和 firebaseDatabase 的两种不同类型,相当于 String w1 = (Object) w2;不起作用,但参考可以是 firebaseDatabase.reference();
-
很荣幸我的名字在这里作为变量:D
标签: java android firebase firebase-realtime-database