当前位置: 首页 > 面试题库 >

在Android中注册时如何将uid保存在Firebase数据库中?

申屠无尘
2023-03-14
问题内容

我需要帮助,如何使用用户模型。创建帐户时,而不是通过电子邮件生成父节点时。将主节点设为uid。我尝试了一些修改,但没有成功,有人可以帮助我。该帐户是由google
auth创建的,它希望生成一个主uid节点而不是电子邮件。

我搜索了模型,但如果有人可以帮助我,我将不会成功,我将非常感激

我仍然需要电子邮件,但不需要作为主要节点。对于主节点,我想要模型中已经存在的uid,但是我无法进行此更改:(

模型

public class User implements Serializable {
    private String user;
    private String email;
    private String photoUrl;
    private String uid;
    private String money;
    private String cassinotime;
    private  String cassinoprofit;

    public String getCassinotime() {
        return cassinotime;
    }

    public void setCassinotime(String cassinotime) {
        this.cassinotime = cassinotime;
    }

    public String getCassinoprofit() {
        return cassinoprofit;
    }

    public void setCassinoprofit(String cassinoprofit) {
        this.cassinoprofit = cassinoprofit;
    }

    public User(String user, String email, String photoUrl, String uid, String money) {
        this.user = user;
        this.email = email;
        this.photoUrl = photoUrl;
        this.uid = uid;
        this.money = money;
    }

    public User() {
    }

    public User(String user, String email, String photoUrl, String uid) {

        this.user = user;
        this.email = email;
        this.photoUrl = photoUrl;
        this.uid = uid;
    }

    public String getMoney() {
        return money;
    }

    public void setMoney(String money) {
        this.money = money;
    }

    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 getPhotoUrl() {
        return photoUrl;
    }

    public void setPhotoUrl(String photoUrl) {
        this.photoUrl = photoUrl;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }
}

Google创建帐户代码

 private void firebaseAuthWithGoogle(final GoogleSignInAccount account) {
        AuthCredential credential = GoogleAuthProvider.getCredential(account.getIdToken(), null);
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {

                            User user = new User(


                            );
                            String photoUrl = null;
                            if (account.getPhotoUrl() != null) {
                                user.setPhotoUrl(account.getPhotoUrl().toString());
                            }

                            user.setEmail(account.getEmail());
                            user.setUser(account.getDisplayName());
                            user.setUid(mAuth.getCurrentUser().getUid());
                            user.setMoney(money);
                            user.setCassinotime(cassinotime);
                            user.setCassinoprofit(cassinoprofit);

                            FirebaseUtils.getUserRef(account.getEmail())
                                    .setValue(user, new DatabaseReference.CompletionListener() {
                                        @Override
                                        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                                            mFirebaseUser = mAuth.getCurrentUser();
                                            finish();
                                        }
                                    });
                        } else {
                            dismissProgressDialog();
                        }
                    }
                });

问题答案:

FirebaseUtils.getUserRef(account.getEmail())
                                    .setValue(user,

 FirebaseDatabase.getInstance().getReference("users")
                                        .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                                        .setValue(user)


 类似资料:
  • 我有一个关于在数据库中存储数据的问题。 我正在应用程序中的一些屏幕上工作:登录屏幕(用户可以访问你的帐户),注册屏幕(用户可以创建一个新帐户),用户提供信息的屏幕(比如“母亲的名字和身高”),以及配置文件屏幕(显示用户提供的信息)。 我在登录屏幕和注册屏幕中没有问题,但是我不知道如何在Firebase数据库中保存用户提供的信息,在用户提供信息的屏幕中。 你们谁能帮我一下吗?我知道我可以使用fire

  • null /signup=>在我的数据库中注册用户,颁发令牌 /登录 /refresh_token null null null 我想要的是客户机V1的一致和兼容API。APIV1的任何现有客户端(应用程序)都应该能够向V1/Signupendpoint发送请求,并以与V2客户端相同的状态完成:在Firebase中创建用户帐户

  • 所以我试图将一些数据存储到我的实时数据库中。我目前有两个独立的视图控制器,一个用于用户注册,另一个用于用户选择其配置文件图像并能够更改该图像。在注册页面上,我将“用户名”保存到firebase,如下所示: 对于个人资料图像,我有这样保存的数据 我希望这两个数据都保存在“用户”下-

  • 问题内容: 我是通过Android(Java)刚接触Firebase的,并且想知道如何检查用户是否已存在以下格式的数据库中: 例如,按下按钮后,我想检查Firebase以查看用户名“ Michael”是否存在(对象michael中的第一级michael-而不是“ michael”。 谢谢 问题答案: 使用方法或onDataChange中的SingleValueEvent

  • 我创建了一个TextView,它以多行显示值 ,我希望将该值保留在SQLite数据库中。这是我使用的代码: 问题是当我保存值时,整个值被插入到一个单元格中。我希望每行的值分开,然后插入到每行的单个单元格中,尽管我使用扫描器方法插入数据,但它不起作用。那有什么办法吗?

  • 问题内容: 我想保存额外的信息,然后再将总订单发送到Paypal。对于每一项,我都在MySQL数据库中创建了一个要存储的列。现在,我正在考虑将其保存为一个数组,以后可以在创建PHP页面时阅读。多余的字段取自输入表单字段。 通过使用数组,可以确保不混淆信息吗? 问题答案: 您可以使用/ 存储数组。使用该解决方案,它们不能轻易地从其他编程语言中使用,因此您可以考虑使用/ 代替(它为您提供了广泛支持的格