如何在Firebase中注册用户名? [英] How can I register a username in Firebase?

查看:340
本文介绍了如何在Firebase中注册用户名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Firebase中实现用户名的注册,因为它只给我提供类似于createUserWithEmailAndPassword()的方法,但是您无法创建用户名,而且我也不知道该怎么做...

下面是我的注册码,但是我还想输入一个可以使用它的用户名,当用户发布诸如getEmail()方法之类的内容时,也可以使用getUsername().

 auth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(RegisterActivity.this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                progressBar.setVisibility(View.GONE);

                if(!task.isSuccessful()){
                    Toast.makeText(RegisterActivity.this, "Something went wrong :(" , Toast.LENGTH_LONG).show();
                }else{
                    startActivity(new Intent(RegisterActivity.this, UsernameARegistrarActivity.class));
                    finish();
                }
            }
        });
    }

我的模型班:

public class User implements Serializable{
    private String user;
    private String email;
    private String Uid;
    private String username;

    public User() {
    }

    public User(String user) {
        this.user = user;
    }

    public User(String user, String email, String uid, String username) {
        this.user = user;
        this.email = email;
        Uid = uid;
        this.username = username;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }


    public String getUid() {
        return Uid;
    }

    public void setUid(String uid) {
        Uid = uid;
    }
}

解决方案

尝试一下,

DatabaseReference database =   FirebaseDatabase.getInstance().getReference();
    User user = new User(firebaseUser.getUid(),
            firebaseUser.getEmail(),
            , firstName, photoURL); // add value as bean object

    database.child(ARG_USERS)
            .child(firebaseUser.getUid())
            .setValue(user)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
              // user data updated in firebase
                       }


            });

I am trying to implement the registration of a username in Firebase since it only gives me methods that are like the createUserWithEmailAndPassword(), but you can not create a username and I do not know how to do it...

Below is my register code,but I also want to enter a user name that can use it, when the user publishes something etc, such as the getEmail() method, also being able to have a getUsername().

 auth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(RegisterActivity.this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                progressBar.setVisibility(View.GONE);

                if(!task.isSuccessful()){
                    Toast.makeText(RegisterActivity.this, "Something went wrong :(" , Toast.LENGTH_LONG).show();
                }else{
                    startActivity(new Intent(RegisterActivity.this, UsernameARegistrarActivity.class));
                    finish();
                }
            }
        });
    }

My model class:

public class User implements Serializable{
    private String user;
    private String email;
    private String Uid;
    private String username;

    public User() {
    }

    public User(String user) {
        this.user = user;
    }

    public User(String user, String email, String uid, String username) {
        this.user = user;
        this.email = email;
        Uid = uid;
        this.username = username;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }


    public String getUid() {
        return Uid;
    }

    public void setUid(String uid) {
        Uid = uid;
    }
}

解决方案

Try this,

DatabaseReference database =   FirebaseDatabase.getInstance().getReference();
    User user = new User(firebaseUser.getUid(),
            firebaseUser.getEmail(),
            , firstName, photoURL); // add value as bean object

    database.child(ARG_USERS)
            .child(firebaseUser.getUid())
            .setValue(user)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
              // user data updated in firebase
                       }


            });

这篇关于如何在Firebase中注册用户名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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