代码之家  ›  专栏  ›  技术社区  ›  LizG

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

  •  2
  • LizG  · 技术社区  · 7 年前

    我正试图从数据库中获取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);
                    }
    

    我做错了什么才能得到里德的价值?

    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 回复  |  直到 6 年前
        1
  •  1
  •   Yunus Kulyyev    7 年前

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

    riderId = dataSnapshot.child(CurrentRiderID).child("riderId").getValue(String.class);
    
        2
  •  0
  •   parag pawar    7 年前

    使用getValue方法

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

    我想您想取父密钥..这样您也可以使用

    dataSnapshot.getKey(); 
    

    这样就不必为它创建额外的节点