firebase - 向 Firebase 用户 Android Studio 注册失败
问题描述
我正在按照有关 Android 和 Firebase 的教程来创建用户,但是每当我单击按钮注册执行消息时,都会给我这个:“此电子邮件已被另一个帐户使用”。我已经尝试了一切,我还添加了使用相同电子邮件的多个帐户的可能性,但它不起作用。(还尝试将我的 API 降级到 29,但仍然无法正常工作)
这是我的代码:
报名活动
FirebaseAuth mAuth;
private EditText email_input;
private EditText password_input;
private EditText username_input;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mAuth = FirebaseAuth.getInstance();
email_input = findViewById(R.id.email_box_register);
password_input = findViewById(R.id.password_box_register);
username_input = findViewById(R.id.username_box_register);
registrati = findViewById(R.id.registrati_button);
registrati.setOnClickListener(this);
}
private void registration() {
String email = email_input.getText().toString().trim();
String password = password_input.getText().toString().trim();
String username = username_input.getText().toString().trim();
if (username.isEmpty()) {
username_input.setError("Username necessario");
username_input.requestFocus();
return;
}
if (email.isEmpty()) {
email_input.setError("Email necessaria");
email_input.requestFocus();
return;
}
if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
email_input.setError("Email non valida");
email_input.requestFocus();
return;
}
if (password.isEmpty()) {
password_input.setError("Password necessaria");
password_input.requestFocus();
return;
}
if (password.length() < 6) {
password_input.setError("Inferiore a 6");
password_input.requestFocus();
return;
}
mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
User user = new User(username, email, password);
FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(getApplicationContext(),"Success", Toast.LENGTH_SHORT).show();
Intent welcome = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(welcome);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
finish();
}else{
Toast.makeText(getApplicationContext(),"Failed", Toast.LENGTH_SHORT).show();
}
}
});
}else{
Toast.makeText(getApplicationContext(),"Registration failed", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.registrati_button) {
registration();
}
}"""
这里是我的 gradle 文件
android { compileSdkVersion 29 buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.fly"
minSdkVersion 16
targetSdkVersion 29
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
}
buildFeatures {
viewBinding true
}
}
依赖{
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.android.gms:play-services-maps:17.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.firebase:firebase-auth:21.0.1'
implementation 'com.google.firebase:firebase-database:20.0.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}"""
解决方案
推荐阅读
- javascript - Javascript创建的按钮,通过onclick获取按钮的id(
- javascript - 反应弹簧 - 动画
内容变化的要素
- c++ - 写入反向链表的函数不能完全给出正确的输出
- rust - 在编译时转换 proc_macro::Literal
- c++ - 使用 std::set 并保留输入顺序
- c++ - 如何在 CPP 中访问模板结构 const 变量
- javascript - 在 React 上使用套接字时如何防止重新渲染?
- python - 如何在 Socket Webserver 上创建原始 UDP 响应
- .net-core - DotNet Core 创建 Proto 消息公共库
- amazon-web-services - 仅由 API Gateway 访问的私有 S3 静态网站