Android studio firebase身份验证不支持';不要报名
我已经创建了一个用户注册和登录方法。但是,当我注册时,它不会显示firebase中的任何已注册用户数据。 这是我的主要活动Android studio firebase身份验证不支持';不要报名,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我已经创建了一个用户注册和登录方法。但是,当我注册时,它不会显示firebase中的任何已注册用户数据。 这是我的主要活动 package com.mike.mikeproject; import android.content.Intent; import android.nfc.Tag; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.
package com.mike.mikeproject;
import android.content.Intent;
import android.nfc.Tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
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;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
private DatabaseReference lDatabase;
private EditText email;
private EditText password;
private Button signup;
private Button login;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lDatabase = FirebaseDatabase.getInstance().getReference();
email = (EditText) findViewById(R.id.user_email);
password = (EditText) findViewById(R.id.user_password);
signup = (Button) findViewById(R.id.signup_btn);
login = (Button) findViewById(R.id.login_btn);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user == null){
}else {
startActivity(new Intent(MainActivity.this, WelcomeActivity.class));
}
}
};
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailtodb = email.getText().toString().trim();
String passwordtodb = password.getText().toString().trim();
//Toast.makeText(MainActivity.this,"Sign up button clickeddd"+emailtodb+passwordtodb, Toast.LENGTH_LONG).show();
if(!TextUtils.isEmpty(emailtodb) && !TextUtils.isEmpty(passwordtodb)){
mAuth.createUserWithEmailAndPassword(emailtodb,passwordtodb).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
startActivity(new Intent(MainActivity.this,WelcomeActivity.class));
} else {
Toast.makeText(MainActivity.this,"Sign up failed", Toast.LENGTH_LONG).show();
}
}
});
} else {
Toast.makeText(MainActivity.this,"email and password required", Toast.LENGTH_LONG).show();
}
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,LoginActivity.class));
}
});
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
protected void onStop() {
super.onStop();
if (mAuthListener != null) {
mAuth.removeAuthStateListener(mAuthListener);
}
}
}
package com.mike.mikeproject;
导入android.content.Intent;
导入android.nfc.Tag;
导入android.support.annotation.NonNull;
导入android.support.annotation.Nullable;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.text.TextUtils;
导入android.util.Log;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.auth.AuthResult;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.database.ChildEventListener;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.ArrayList;
导入java.util.HashMap;
公共类MainActivity扩展了AppCompatActivity{
私有数据库参考数据库;
私人文本电子邮件;
私有文本密码;
私人按钮注册;
私人按钮登录;
私人消防队;
私有FirebaseAuth.AuthStateListener mAuthListener;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lDatabase=FirebaseDatabase.getInstance().getReference();
email=(EditText)findViewById(R.id.user\u email);
密码=(EditText)findViewById(R.id.user\u密码);
注册=(按钮)findviewbyd(R.id.signup\u btn);
login=(按钮)findviewbyd(R.id.login\u btn);
mAuth=FirebaseAuth.getInstance();
mAuthListener=new FirebaseAuth.AuthStateListener(){
@凌驾
AuthStateChanged上的公共void(@NonNull FirebaseAuth FirebaseAuth){
FirebaseUser=firebaseAuth.getCurrentUser();
if(user==null){
}否则{
startActivity(新意图(MainActivity.this、WelcomeActivity.class));
}
}
};
signup.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串emailtodb=email.getText().toString().trim();
字符串passwordtodb=password.getText().toString().trim();
//Toast.makeText(MainActivity.this,“注册按钮点击EDDD”+emailtodb+passwordtodb,Toast.LENGTH_LONG.show();
如果(!TextUtils.isEmpty(emailtodb)和&!TextUtils.isEmpty(passwordtodb)){
mAuth.createUserWithEmailAndPassword(emailtodb,passwordtodb).addOnCompleteListener(新的OnCompleteListener所以答案是如果你做的每件事都是正确的,但它不起作用或无法为用户签名。这是因为它看起来不会使用模拟器注册。必须在真正的android设备上。它对我使用我的手机有效。只需导出为.apk并测试它。使你的密码大于6个字符。什么你收到的错误?没有错误兄弟。就像我按下注册按钮一样,注册过程不会发生,在我的firebase中我看不到任何数据(在我的问题中添加了一个屏幕截图)你是否添加了“INTERNET”权限以显示?是的,我添加了“INTERNET”许可我还检查了按钮是否有问题,单击“注册”按钮后我放了一个祝酒词。它确实有效。还检查了电子邮件和密码数据是否从字段中传递。这也很好。我不知道为什么不注册。在firebase中,也启用了“使用电子邮件和密码注册”