我相信我已经成功设置了 Firebase,但是我在 Android Studio (AS) 中遇到了 Java 端的问题。我一直在关注 YouTube 教程,因为我对 AS 和 Firebase 还很陌生,我想要三个登录选项:Facebook、Google 和电子邮件。 AS 无法解析“FirebaseAuth”、“getCurrentUser”或“AuthUI”的符号。非常感谢任何帮助!
这是我的 Java MainActivity:
package com.uni.smartprogression;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import com.firebase.ui.auth.AuthUI;
public class MainActivity extends AppCompatActivity {
private static final int RC_SIGN_IN = 0;
private FireBaseAuth auth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auth = FirebaseAuth.getInstance();
//User already signed in
if (auth.getCurrentUser() != null) {
//User already logged in
Log.d("AUTH", auth.getCurrentUser().getEmail());
}
else {
startActivityForResult(AuthUI.getInstance()
.createSignInIntentBuiler()
.setProviders(
AuthUI.FACEBOOK_PROVIDER,
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER )
.build(),
RC_SIGN_IN);
}
}
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN){
if (resultCode == RESULT_OK){
//User logged in
Log.d("AUTH", auth.getCurrentUser().getEmail());
}
else {
//User not authenticated
Log.d("AUTH", "NOT AUTHENTICATED");
}
}
}
}
这是我的应用构建 gradle:
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.uni.smartprogression"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation platform('com.google.firebase:firebase-bom:26.2.0')
implementation ('com.google.firebase:firebase-auth:26.2.0')
implementation 'com.google.firebase:firebase-database:26.2.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'
// implementation platform'com.google.firebase:firebase-storage:26.2.0'
}
apply plugin: 'com.google.gms.google-services'