1

我已經創建了一個數據庫維護在Firebase中的應用程序。我已經完成了用戶註冊部分,這裏是我所使用的編碼,如何在Firebase中維護數據庫的Android應用程序中登錄?

if(edtUsrNameS.length() >0 && edtPassS.length() >0 &&edtEmailS.length() >0) { 
        strUsrS = edtUsrNameS.getText().toString().trim(); 
        strPassS = edtPassS.getText().toString().trim(); 
        strEmailS = edtEmailS.getText().toString().trim(); 

        if(Constant.isValidEmail(strEmailS)){ 
         edtEmailS.setError(null); 

         Map<String, String> parameters = new HashMap<>(); 
         parameters.put(Constant.TAG_USER, strUsrS.trim()); 
         parameters.put(Constant.TAG_PASS, strPassS.trim()); 
         parameters.put(Constant.TAG_EMAIL, strEmailS.trim()); 


         String pushId = mFirebaseInstance.getReference(Constant.FIREBASE_LOGIN).getRef().push().getKey(); 
         parameters.put(Constant.TAG_KEY, pushId.trim()); 
         mFirebaseInstance.getReference(Constant.FIREBASE_LOGIN).getRef().child(strUsrS.trim()).setValue(parameters); 

         Toast.makeText(Login_Reg_Activity.this, "Registered Successfully", Toast.LENGTH_SHORT).show(); 
         finish(); 
         Intent inMain = new Intent(Login_Reg_Activity.this, Login_Reg_Activity.class); 
         startActivity(inMain); 

        }else{ 
         edtEmailS.setError("Enter a valid Email"); 
        } 

       }else{ 
        Toast.makeText(Login_Reg_Activity.this, "Fill all detail", Toast.LENGTH_SHORT).show(); 
       } 

註冊成功後,數據被存儲在users表中火力地堡這樣的:

1

我懷疑是如何使用憑證用戶名和手機登錄。我參考了link,但我無法成功。所以,我親切的請求是指導我這樣做。另外,如何限制用戶註冊的重複?

在此先感謝。

+0

用戶重複是火力保持你可以提供你試圖 –

+0

我沒有爲重複編寫代碼但代碼!成功登錄後,我必須這樣做。 –

回答

1

步驟1: 確保你已經啓用了火力控制檯shwon密碼登錄下面的圖片 enter image description here

使用下面的代碼進行登錄使用電子郵件和PWD

FirebaseAuth mAuth = FirebaseAuth.getInstance(); // same auth as you used for regestration process 
mAuth.signInWithEmailAndPassword("[email protected]","pwd") 
       .addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
         if(task.isSuccessful()){ 

         } 

        }}) 
       .addOnFailureListener(new OnFailureListener() { 
        @Override 
        public void onFailure(@NonNull Exception e) { 

         Toast.makeText(LoginActivity.this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); 
        } 
       }); 

當您成功登錄時比auth更改列表將被調用

驗證更改聽者

private FirebaseAuth.AuthStateListener mAuthListener; 
mAuthListener = new FirebaseAuth.AuthStateListener() { 
      @Override 
      public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { 
       FirebaseUser user = firebaseAuth.getCurrentUser(); 
       if(user !=null){ 

       } 
      } 
     }; 


mAuth.addAuthStateListener(mAuthListener); 
+0

感謝您的回覆。但這是我在我的問題中附帶的鏈接中所遵循的參考文獻。將嘗試它,讓你知道結果... –

+0

你嘗試上面的代碼什麼錯誤你臉 –

+0

沒有電子郵件(&密碼)我們無法登錄的權利? –

相關問題