如何在Android中只读第一个子值

如何在Android中只读第一个子值,android,firebase,firebase-realtime-database,spinner,Android,Firebase,Firebase Realtime Database,Spinner,我是Firebase的新手,我想知道是否有办法只获取第一个孩子的值,并将其插入android中的微调器。例: 正如图中所示,我只想检索名称“slot x”,而不是获取它的所有值。可以这样做吗?当然可以,您可以使用以下方法: DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference myRef = rootRef.child("path to your parent n

我是Firebase的新手,我想知道是否有办法只获取第一个孩子的值,并将其插入android中的微调器。例:

正如图中所示,我只想检索名称“slot x”,而不是获取它的所有值。可以这样做吗?

当然可以,您可以使用以下方法:

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();
    }
});