如何在Android中仅读取第一个子值

时间:2019-11-02 16:20:25

标签: android firebase firebase-realtime-database spinner

我是Firebase的新手,我想知道有没有一种方法只能获取第一个孩子的值并将其插入android的Spinner中。例如:

this

就像显示的图像一样,我只想检索名称“ slot x”而不是获取其所有值。有可能这样做吗?

1 个答案:

答案 0 :(得分:0)

当然,您可以order and limit the number of child nodes retrieved使用类似这样的内容:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = rootRef.child("path to your parent node");
Query query = myRef.orderByKey().limiToFirst(1);
query.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
            String key = childSnapshot.getKey(); // "slot 1"
            String status = childSnapshot.child("status").getValue(String.class); // "occupied"
            ...
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});