如何让 Android 简单的 Firebase 身份验证工作?获取空对象引用错误

哦嘿ImBri

问题修复更新:通过将 Firebase 降级到 9.6.0(我选择的随机版本)来修复。我假设最初的问题与模拟器的好游戏有关。

旧问题:所以我需要帮助,尝试设置 Firebase 身份验证以登录用户。我已经在 Firebase 控制台中启用了此功能,并且我之前已经完成了此操作,并在几周前将其作为课堂作业使用。但是这次我在尝试登录时得到了一个空对象引用。

我开始认为这与我的 gradle 文件有关。mAuth 不为空,字符串电子邮件和密码不为空。我只是按照这个 Firebase 指南:https ://firebase.google.com/docs/auth/android/password-auth

此处有确切的 Logcat 错误

模块应用程序 Gradle 文件在这里

项目 Gradle 文件在这里

下面全班。错误开始的第 43 行(如屏幕截图所示)是 'mAuth.signInWithEmailAndPassword(email, password)'

package com.example.bri.inclass09;

import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;

public class LoginActivity extends AppCompatActivity {

private FirebaseAuth mAuth;
private EditText emailET, passwordET;
private Button login, signup;
private static final String TAG = "test";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    mAuth = FirebaseAuth.getInstance();
    Log.d(TAG, "mAuth is: " + mAuth.toString());
    login = findViewById(R.id.loginButton);
    signup = findViewById(R.id.signupButton);
    emailET =  findViewById(R.id.loginEmailET);
    passwordET = findViewById(R.id.loginPassET);

    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String email = emailET.getText().toString();
            String password = passwordET.getText().toString();
            Log.d(TAG, email + " " + password);

            mAuth.signInWithEmailAndPassword(email, password)
                    .addOnCompleteListener(LoginActivity.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
                                Log.d(TAG, "createUserWithEmail:success");
                                FirebaseUser user = mAuth.getCurrentUser();
                            } else {
                                // If sign in fails, display a message to the user.
                                Log.w(TAG, "createUserWithEmail:failure", task.getException());
                                Toast.makeText(LoginActivity.this, "Authentication failed.",
                                        Toast.LENGTH_SHORT).show();
                            }

                            // ...
                        }
                    });
        }
    });
}

@Override
public void onStart() {
    super.onStart();
    // Check if user is signed in (non-null) and update UI accordingly.
    //FirebaseUser currentUser = mAuth.getCurrentUser();
}

}

鲍勃·斯奈德

在您的应用模块 build.gradle 文件中:

apply plugin: 'com.google.gms.google-services'

放错地方了。它应该是最后一行dependencies

此外,设备或模拟器必须安装与您构建的 Firebase 版本兼容的 Google Play 服务版本。如果您在设备上看到此问题,可以前往 Play 商店下载最新版本。如果您使用的是模拟器,则需要使用 SDK Manager 为您正在使用的模拟器下载最新的 Google API 系统映像。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过简单的for循环从Firebase Android获取所有子列表

如何设置Android Firebase电话身份验证的回调?

如何在firebase for android中使用身份验证UId从用户节点获取用户信息?

如何从firebase获取简单的数组数据并获取它

如何使用 firebase admin 捕获 firebase 身份验证错误

如何处理Firebase身份验证错误?/迅捷/ Firebase

Firebase电话号码身份验证获取空引用

Firebase 电话号码身份验证如何工作?

如何从Android中的Firebase获取对象?

.java 文件中的 Android Firebase 身份验证错误

从 Firebase Android 检索简单数据

Firebase身份验证:如何获取当前用户的密码?

Firebase身份验证触发器:如何获取域名

如何获取firebase上次身份验证令牌刷新时间

如何让 CatAPI 在简单的 Android 应用程序中工作

无法在简单的 HTML、JS 页面上使用 firebase 身份验证进行身份验证

如何翻译 Firebase 身份验证中的错误代码?

如何在Unity上处理Firebase身份验证错误

如何在Android Firebase身份验证中更改登录电话号码?

如何在 android 中使用 firebase UI 实现 Github 提供者身份验证

如何使用 Android Things 对 Firebase 数据库进行身份验证?

如何在Android的Firebase身份验证中同时注册多个用户?

如何从 Android 应用程序中删除 Firebase 身份验证用户?

如何在 android 中访问在 Firebase 身份验证中注册的用户

如何在Firebase中创建简单的API?

Firebase匿名身份验证(Android):终身?

Firebase身份验证所需的Android权限

Android-Firebase身份验证失败

Android Firebase SDK Github身份验证