如何从Firebase获取用户名和全名的字符串列表? [英] How do i get string list of username and fullname from firebase?

查看:61
本文介绍了如何从Firebase获取用户名和全名的字符串列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在java类中,我使用了一些随机的用户名和全名进行测试,但现在我想获取Firebase的Mates节点中当前用户的子级用户名和用户名列表.

In java class, I used some random username and fullname for testing but now I want to get the list of username and full name of user who are child of current user in Mates node in firebase.

public class User
{

    public String fullname;
    public String username;




      public User()
        {
            FirebaseAuth mAuth=FirebaseAuth.getInstance();
            String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
            DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
            DatabaseReference uidRef = rootRef.child("Mates").child(uid);
            ValueEventListener valueEventListener = new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    List<User> USERS = new ArrayList<>();
                    for(DataSnapshot ds : dataSnapshot.getChildren()) {
                        User user = ds.getValue(User.class);
                        USERS.add(user);
                        Log.d(TAG, user.getUsername() + " / " + user.getFullname());
                    }

                    //Do what you need to do with your userList
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                    Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
                }
            };
            uidRef.addListenerForSingleValueEvent(valueEventListener);
        }

        public User(String fullname, String username) {
            this.fullname = fullname;
            this.username = username;
        }


        public String getFullname() {
            return fullname;
        }

        public String getUsername() {
            return username;
        }

        public static List<User> USERS ;

    }

我想将此用户替换为当前用户的子级的Firebase用户,在这里放置我的数据库映像.

I want replace this user to firebase user who is child of current user, here I put my database image.

推荐答案

根据您的评论,要获取Mates/uid中存在的所有用户对象,请使用以下代码行:

According to your comment, to get all user objects that exist within Mates/uid, please use the following lines of code:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("Mates").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<User> userList = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            User user = ds.getValue(User.class);
            userList.add(user);
            Log.d(TAG, user.getUsername() + " / " + user.getFullname());
        }

        //Do what you need to do with your userList
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
uidRef.addListenerForSingleValueEvent(valueEventListener);

logcat中的输出将是uid中存在的所有用户的所有用户名和全名.

The output in the logcat will be all usernames and fullnames of all users that exist within the uid.

这篇关于如何从Firebase获取用户名和全名的字符串列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆