从火力地堡检索数据
retrive data from firebase
我是 android 开发的新手。我尝试从 firebase 检索数据。哪个有效。但我无法从数据库结果中过滤唯一标识符。
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("foods",dataSnapshot.getValue().toString());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
结果类似于
XsgGhY7qUY5Qa3t8 = {food = apple} , ..... etc
我想删除该唯一标识符并仅将结果显示为
Apple , Mango ...etc
谢谢
试试这个:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap: dataSnapshot.getChildren()) {
Log.d('foods',dataSnapshot.child('food').getValue().toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
将 child() 添加到您的参考中,您可以访问树中的特定键。但正如 Frank 建议尝试使用 POJO class 从 Firebase
检索所有数据
已编辑:抱歉我忘了你有很多 children,当你有很多 children 在你的节点
我想出了答案。如果有人遇到同样的问题,请使用 "child event listener "
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d("foods",dataSnapshot.getValue().toString());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我是 android 开发的新手。我尝试从 firebase 检索数据。哪个有效。但我无法从数据库结果中过滤唯一标识符。
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("foods",dataSnapshot.getValue().toString());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
结果类似于
XsgGhY7qUY5Qa3t8 = {food = apple} , ..... etc
我想删除该唯一标识符并仅将结果显示为
Apple , Mango ...etc
谢谢
试试这个:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap: dataSnapshot.getChildren()) {
Log.d('foods',dataSnapshot.child('food').getValue().toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
将 child() 添加到您的参考中,您可以访问树中的特定键。但正如 Frank 建议尝试使用 POJO class 从 Firebase
检索所有数据已编辑:抱歉我忘了你有很多 children,当你有很多 children 在你的节点
我想出了答案。如果有人遇到同样的问题,请使用 "child event listener "
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myref = database.getReference("user_foods");
myref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d("foods",dataSnapshot.getValue().toString());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});