Firebase Android -- 在 Kotlin 中使用电子邮件和密码创建用户

Posted

技术标签:

【中文标题】Firebase Android -- 在 Kotlin 中使用电子邮件和密码创建用户【英文标题】:Firebase Android -- create user with email and Password in Kotlin 【发布时间】:2017-11-25 07:41:24 【问题描述】:

我正在尝试使用 Firebase 和 Kotlin 进行注册。 查看文档,我看到了 Java 中的所有示例。所以当我尝试在 Kotlin 中实现时,我无法让它工作。

在 Java 中应该是这样的:

// [START create_user_with_email]
        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() 
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) 
                        if (task.isSuccessful()) 
                            // Sign in success, update UI with the signed-in user's information
                            FirebaseUser user = mAuth.getCurrentUser();

                         else 
                            // If sign in fails, display a message to the user.
                            ......
                        

                        // [START_EXCLUDE]
                        .......
                        // [END_EXCLUDE]
                    
                );
        // [END create_user_with_email]

但是当我尝试像这样在 kotlin 中实现时:

// [START create_user_with_email]
        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, OnCompleteListener<AuthResult>  task ->
                    if (task.isSuccessful) 
                        // Sign in success, update UI with the signed-in user's information                        
                        val user = mAuth.currentUser                       
                     else 
                        ......
                    

                    // [START_EXCLUDE]
                            .....
                    // [END_EXCLUDE]
                )
        // [END create_user_with_email]

但是这个,给我一个错误:

我不知道如何解决它。

示例来自:https://github.com/firebase/quickstart-android/blob/master/auth/app/src/main/java/com/google/firebase/quickstart/auth/EmailPasswordActivity.java#L119-L137

【问题讨论】:

【参考方案1】:

我已经通过以下方式使用电子邮件和密码实现了 Firebase 注册,并且可以正常工作:

this.firebaseAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener  task: Task<AuthResult> ->
    if (task.isSuccessful) 
        //Registration OK
        val firebaseUser = this.firebaseAuth.currentUser!!
     else 
        //Registration error 
    

【讨论】:

完美!像魅力一样工作;) 你的完美解决方案:)【参考方案2】:
auth.createUserWithEmailAndPassword(email,pass).addOnCompleteListener(object: OnCompleteListener<AuthResult>
                        override fun onComplete(p0: Task<AuthResult>) 
                            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
                        
                    )

【讨论】:

以上是关于Firebase Android -- 在 Kotlin 中使用电子邮件和密码创建用户的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin基础初探

Kotlin MultiPlatform - 发布 Android 库失败

在 Android 中启用 Firebase 崩溃报告

Android-Kotlin-代理和委托

Android开发基础——Kotlin简介

无法在 Android 中使用 Firebase 应用内消息?