我想检索所有数据并将每个特定的pushID存储到按钮中。
第一个问题,如何获得推送键? 第二次qustion,获取值后,我想将每个ID存储到一个按钮,以便我可以更新它。怎么样?
答案 0 :(得分:0)
你能得到一个JsonObject然后:
Set<Map.Entry<String, JsonElement>> entries = responseBody.entrySet();
List<FeedRow> rowList = new LinkedList<>();
for (Map.Entry<String, JsonElement> entry : entries) {
String key = entry.getKey());
String value = responseBody.get(entry.getKey()).toString();
}
然后保存在列表中。 使用recyclerview, 1.使用此列表添加按钮 2.在每个按钮中添加addOnClickListener
答案 1 :(得分:0)
试试这个:
FirebaseDatabase database = FirebaseDatabase.getInstance();
database.getReference()
.child("myfirstfirebaseproject-8f271")
.child("all-user-dishes")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
Log.v("KEY", "this is your key"+snapshot.getKey());
Log.v("VALUE", "this is your value"+snapshot.getValue());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 2 :(得分:0)
要获取数据,请使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("all-user-dishes");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String dishName = ds.child("dishName").getValue(String.class);
String dishPrice = ds.child("dishPrice").getValue(String.class);
Log.d("TAG", dishName + " / " + dishPrice);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
yourRef.addListenerForSingleValueEvent(eventListener);
输出将是:
Luncheeon Meat / 150
Fruit Salad / 50
Sardines / 80