2016-10-13 2 views
0

Firebase 인증으로 등록 활동을 만들었지 만, 애플리케이션을 실행하고 가입 버튼을 클릭해도 아무런 변화가 없었습니다. 진행 대화 상자 만 회전하고 가입하지도 않았습니다.Firebase 인증 오류

public class RegisterActivity extends AppCompatActivity { 

    private EditText mNameField; 
    private EditText mEmailField; 
    private EditText mPasswordField; 

    private Button mRegisterBtn; 
    private FirebaseAuth mAuth; 
    private DatabaseReference mDatabase; 

    private ProgressDialog mProgress; 

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

     mAuth = FirebaseAuth.getInstance(); 

     mDatabase = FirebaseDatabase.getInstance().getReference().child("users"); 

     mProgress = new ProgressDialog(this); 

     mNameField = (EditText) findViewById(R.id.nameFied); 
     mEmailField = (EditText) findViewById(R.id.emailField); 
     mPasswordField = (EditText) findViewById(R.id.passwordField); 
     mRegisterBtn = (Button) findViewById(R.id.registerBtn); 

     mRegisterBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startRegister(); 
      } 
     }); 
    } 

    private void startRegister() { 
     final String name = mNameField.getText().toString().trim(); 
     String email = mEmailField.getText().toString().trim(); 
     String password = mPasswordField.getText().toString().trim(); 

     if(!TextUtils.isEmpty(name) && !TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)){ 

      mProgress.setMessage("Signing up...please wait"); 
      mProgress.show(); 

      mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 


       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if (task.isSuccessful()){ 
         String user_id = mAuth.getCurrentUser().getUid(); 
         DatabaseReference current_user_db = mDatabase.child(user_id); 
         current_user_db.child("name").setValue(name); 
         current_user_db.child("image").setValue("default"); 

         mProgress.dismiss(); 

         Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class); 
         mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivity(mainIntent); 
        } 
       } 
      }); 
     } 

     if (TextUtils.isEmpty(name) && TextUtils.isEmpty(email) && TextUtils.isEmpty(password)){ 
      Toast.makeText(RegisterActivity.this, "do not leave any field empty", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

내가 뭘 잘못했는지 모르겠어요

여기 내 코드입니다.

compile 'com.google.firebase:firebase-database:9.2.0' 
compile 'com.google.firebase:firebase-auth:9.2.0' 

답변

0

시도가 OnFailureListener 당신이 점점 오류가 어떤 예외 나보고 추가 : 여기

내 Gradle을 종속 있습니다.

mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 


       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if (task.isSuccessful()){ 
         String user_id = mAuth.getCurrentUser().getUid(); 
         DatabaseReference current_user_db = mDatabase.child(user_id); 
         current_user_db.child("name").setValue(name); 
         current_user_db.child("image").setValue("default"); 

         mProgress.dismiss(); 

         Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class); 
         mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivity(mainIntent); 
        } 
       } 
      }).addOnFailureListener(new OnFailureListener() { 
         @Override 
         public void onFailure(@NonNull Exception e) { 
          Log.i("Firebase Exception -> ",e.getMessage()); 
         }}); 
0

당신은

createUserWithEmailAndPassword(email, password) 

와 사용자를 만들하지만 당신은 서명되지 인을 않았다.

signInWithEmailAndPassword(email, password) 

으로 사용자를 생성하고 데이터베이스에 데이터를 추가 한 후에도 로그인해야합니다.

그리고 리포지토리와 품위를 업데이트하는 것이 좋습니다.