我试图访问灌木子节点,在灌木下的每个唯一键下,访问键值对,例如键:ShrubbedWord value :yfyj

我试过了,但一无所获:-
postsData = FirebaseDatabase.getInstance().getReference().child("Shrubs");
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for (DataSnapshot dttSnapshot2 : dataSnapshot.getChildren()) {
Log.d("mylog", "" + dttSnapshot2.getKey().toString() + ":" + dttSnapshot2.getValue().toString());
}
}现在,当我尝试这个:
postsData = FirebaseDatabase.getInstance().getReference();
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for (DataSnapshot dttSnapshot2 : dataSnapshot.getChildren()) {
Log.d("mylog", "" + dttSnapshot2.getKey().toString() + ":" + dttSnapshot2.getValue().toString());
}
}我的日志返回了从生日到灌木的大量数据,我不需要这些数据。只想要灌木子中的数据在键值对中。
有人知道我是怎么做到的吗?
发布于 2018-02-12 20:27:33
试试这个:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("unknown").child("Shrubs");
ref.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnasphot datas: dataSnapshot.getChildren()){
String name=datas.child("ShrubbedWord").getValue().toString();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});您需要从上到下,在您提供的图像中添加红线,这样我们就看不到它了。
我已在代码中将其命名为child("unknown"),但在您的代码中,将其命名为在数据库中写入的名称。
在编写child("Shrubs")之后,您的dataSnapshot将位于灌木子节点的位置。然后,您可以在push id中进行迭代,以便能够检索其中的属性和值。
https://stackoverflow.com/questions/48754899
复制相似问题