如何在Firebase中获得孩子的价值?

时间:2018-06-22 23:54:17

标签: android firebase firebase-realtime-database

我正在尝试从数据库中获取riderId值:

enter image description here

我正在使用的代码:

Query query = FirebaseDatabase.getInstance().getReference(Common.user_rider_tbl);
            query.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    riderId = String.valueOf(dataSnapshot.getChildren().child("riderId"));
                    Log.d(TAG, "riderId = " + riderId);
                }

要获取riderId的值,我在做错什么?

json

"Riders" : {
  "C0RjB5NPZcTvWz9XiUAhpTDOK0C2" : {
    "avatarUrl" : "https://firebasestorage.googleapis.com/v0/b/ryyde-sj.appspot.com/o/images%2Friders%2F0badce3c-e75b-4d52-88e1-d2009090fb73?alt=media&token=5ca59575-54ce-401e-ac27-c1d4e6a5f94c",
    "email" : "rider@me.com",
    "name" : "Rider1",
    "password" : "zzzzzz",
    "phone" : "665",
    "rates" : "0",
    "riderId" : "C0RjB5NPZcTvWz9XiUAhpTDOK0C2"
  },

2 个答案:

答案 0 :(得分:1)

我不知道当前用户的ID是什么,但是我们可以假设这个

riderId = dataSnapshot.child(CurrentRiderID).child("riderId").getValue(String.class);

答案 1 :(得分:0)

使用getValue方法

riderId = dataSnapshot.child("riderId").getValue(String.class);

我猜您想获取父键..以便也可以使用

dataSnapshot.getKey(); 

通过这种方式,您无需为其添加额外的节点