Firebase를 통해 내 Android 앱에서 사용자를 인증하도록하려고합니다. 이메일/비밀번호 만 있으면됩니다. 로그인, 등록 및 주요 활동 (홈 페이지)이 있습니다.Android에서 Firebase 인증
public class Register extends AppCompatActivity {
private EditText txtEmailAddress, txtPassword;
private FirebaseAuth firebaseAuth;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
txtEmailAddress = (EditText)findViewById(R.id.reg_email);
txtPassword = (EditText)findViewById(R.id.reg_password);
firebaseAuth = FirebaseAuth.getInstance();
}
public void btnRegistrationUser_Click(View v) {
final ProgressDialog progressDialog = ProgressDialog.show(Register.this, "Please wait", "Processing",true);
firebaseAuth.createUserWithEmailAndPassword(txtEmailAddress.getText().toString(),txtPassword.getText().toString())
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
if(task.isSuccessful()){
Toast.makeText(Register.this,"Registration successful",Toast.LENGTH_LONG).show();
Intent intent = new Intent(Register.this,LoginActivity.class);
startActivity(intent);
}else{
Log.e("ERROR",task.getException().toString());
Toast.makeText(Register.this, task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
progressDialog.dismiss();
}
});
}
이것은 내 register.java입니다. 응용 프로그램을 정상적으로 실행할 수는 있지만 정보를 입력하고 버튼을 클릭하면 끝이없는 ProgressDialog가 회전하고 Firebase는 업데이트되지 않습니다.
다른 자습서를 따라 해답을 찾았지만 수정 사항을 찾을 수없는 것 같습니다. 내 매니페스트 페이지에 인터넷 권한을 허용하고, 내가 gradle (응용 프로그램을 실행 괜찮아요 홈 페이지 (롤),하지만 오류)에 도착하지 못하게 실행, 그리고 구글을 가지고 -services.json 내 애플 리케이션에 붙여 넣습니다.
도움이된다면 아래 코드는 내 login.java입니다. 밖에있는 모든 도움에 감사드립니다!
public class LoginActivity extends AppCompatActivity {
private EditText txtEmailLogin;
private EditText txtPassword;
private FirebaseAuth firebaseAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
txtEmailLogin = (EditText) findViewById(R.id.editTextEmail);
txtPassword = (EditText)findViewById(R.id.editTextPassword);
firebaseAuth = FirebaseAuth.getInstance();
}
public void btnRegistration_Click(View v){
Intent registration = new Intent(LoginActivity.this,Register.class);
startActivity(registration);
}
public void btnUserLogin_Click(View v){
final ProgressDialog progressDialog = ProgressDialog.show(LoginActivity.this,"Please wait","Processing",true);
firebaseAuth.signInWithEmailAndPassword(txtEmailLogin.getText().toString(),txtPassword.getText().toString())
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
if(task.isSuccessful()){
Toast.makeText(LoginActivity.this,"Login successful",Toast.LENGTH_LONG).show();
Intent intent = new Intent (LoginActivity.this,MainActivity.class);
startActivity(intent);
}else{
Log.e("ERROR",task.getException().toString());
Toast.makeText(LoginActivity.this, task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
}
});
}