【发布时间】:2020-11-24 14:32:49
【问题描述】:
我在我的第一个 android 应用程序中使用了 firebase 实时数据库。我正在尝试从 firebase 检索数据作为“用户名”的数组列表,但我经常让查询返回 null 结果。我对 firebase 很陌生,所以我真的在为数据检索错误而苦苦挣扎。
"Marchand" : {
"Taha" : {
"adress" : "58 avenu St Eugène ",
"blockage" : false,
"latitude" : 35.7498635,
"longitude" : -0.5566705,
"mail" : "mailmail@gmail.com ",
"password" : "123456",
"signalement" : 0,
"telephone" : "0666666666",
"username" : "Taha"
},
"Yasmine" : {
"adress" : "Address kkdndbdk ",
"blockage" : false,
"latitude" : 35.7498636,
"longitude" : -0.5566704,
"mail" : "randommail@gmail.com",
"password" : "bobo",
"signalement" : 0,
"telephone" : "06999999",
"username" : "Yasmine"
}
.
.
.
这是我的尝试之一,我尝试使用 order-by-child 方法来遍历我拥有的多个点头,但我确定这不是正确的方法,这给了我空指针异常,因为数据快照返回 NULL 值:
referenceMarchand = rootNode.getReference("Marchand");
final ArrayList<String> types = new ArrayList<>();
Query users = referenceMarchand.orderByChild("username");
users.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
types.add(dataSnapshot.child("username").toString());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
【问题讨论】:
标签: android firebase firebase-realtime-database data-retrieval