繁体   English   中英

如何从Android中的Firebase获取子节点的子节点?

[英]How to Get children of child nodes from Firebase in android?

我的数据库

class UserAccountSettings {
    private String user_id;
    private String name ;
    private float rate;
    private String profile_photo;
    private ArrayList<Activity> activities ;
} 

谢谢你的帮助!

要显示这些值,请使用以下代码:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference activitiesRef = rootRef.child("user_account_settings").child(uid).child("activities");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String user_id = dataSnapshot.child("user_id").getValue(String.class);
        String name = dataSnapshot.child("name").getValue(String.class);
        float rate = dataSnapshot.child("rate").getValue(Float.class);
        String profile_photo = dataSnapshot.child("profile_photo").getValue(String.class);
        Log.d("TAG", user_id + " / " +
            profile_photo + " / " +
            rate + " / " +
            profile_photo);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
activitiesRef.addListenerForSingleValueEvent(valueEventListener);

输出将是:

mVeg... / Debbebi / 0 / http://...
  1. 声明一个Data baseReference对象(编辑字符串“ azone”以与您的节点键匹配):

     DatabaseReference userSettingRef = FirebaseDatabase.getInstance().getReference() .child("azone") .child("user_account_settings") .child(getUserId()); 
  2. 添加一个ValueEventListener:

     userSettingRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // Get Post object and use the values to update the UI UserAccountSettings setting = dataSnapshot.getValue(UserAccountSettings .class); if (setting!= null) { // do something here } } @Override public void onCancelled(DatabaseError databaseError) { // Getting Post failed, log a recipientMessage Log.w(TAG, "loadPost:onCancelled", databaseError.toException()); // ... } }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM