【发布时间】:2019-07-27 18:10:01
【问题描述】:
这是我的 Firebase 聊天结构(见下图)。我只想获取 amitpal_name 值而不是其他值,但是这种方法可以获取我所有的值
我也用过这个
dbreference= FirebaseDatabase.getInstance().getReference( "ChatMessage" ).child( "msg");
dbreference.orderByChild("Ref").addChildEventListener( new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {[![enter image description here][1]][1]
Iterator iterator=dataSnapshot.getChildren().iterator();
while (iterator.hasNext()){
String chatis=(String) ((DataSnapshot)iterator.next()).getValue();
Log.e( "ADDED IS-" , chatis);
}
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
Iterator iterator=dataSnapshot.getChildren().iterator();
while (iterator.hasNext()){
String chatis=(String) ((DataSnapshot)iterator.next()).getValue();
Log.e( "ADDED chng-" , chatis);
}
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.e( "ERRO FBDB-", databaseError.getMessage());
}
} );
dbreference= FirebaseDatabase.getInstance().getReference("ChatMessage").child("msg").child("amitpal_name");
但它没有提供任何信息或价值,请在这里帮助我
我也尝试过以下方法,这给了我良好且预期的结果,但主要问题是我想在不使用服务的情况下在 firebaserealtime Chat 中更新数据库时在 listview 中反映新值,因为我需要下面的这种方法
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
【问题讨论】:
-
你试过这样引用吗 dbreference= FirebaseDatabase.getInstance().getReference().child("ChatMessage" ).child( "msg").child("amitpal_name");
-
是的,我在上面写了它,我正在使用它,但它没有为我提供任何价值
-
哈哈,我知道我读过。请注意 getReference() 没有参数
-
不工作 tnx
标签: android firebase firebase-realtime-database