0

我正在使用Firebase用戶註冊方法使用電子郵件和密碼。在創建新用戶的同時,我還存儲了以後需要在應用程序配置文件頁面中顯示的用戶名信息。Android Firebase創建並顯示用戶名

我該如何檢索當前登錄的用戶名?

預先感謝您

enter image description here

private void registration(){ 

    final String email = Email.getText().toString().toString().trim(); 
    final String password = Password.getText().toString().trim(); 
    final String username = Username.getText().toString().trim(); 
    final String age = Age.getText().toString().trim(); 
    final String userID = userAuth.getCurrentUser().getUid(); 

    if (!TextUtils.isEmpty(email)&& !TextUtils.isEmpty(password)&& !TextUtils.isEmpty(username)&& !TextUtils.isEmpty(age)){ 

     showProgress.setMessage("Registration in progress..."); 
     showProgress.show(); 

     userAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 

       if(task.isSuccessful()) { 

        String user_id = userAuth.getCurrentUser().getUid(); 
        DatabaseReference current_user_db = DatbaseOfUsers.child(user_id); 
        current_user_db.child("email").setValue(email); 
        current_user_db.child("username").setValue(username); 
        current_user_db.child("Age").setValue(age); 
        current_user_db.child("uID").setValue(userID); 

        showProgress.dismiss(); 

        //After user is created main screen intent is called 
        Intent mainpage = new Intent(RegisterActivity.this, MainPageActivity.class); 
        mainpage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(mainpage); 
       } 

       else if(!task.isSuccessful()){ 
        showProgress.dismiss(); 
        Toast.makeText(RegisterActivity.this,"Error While Register",Toast.LENGTH_LONG).show(); 
       } 
      } 

     }); 

    } 

    else{ 
     showProgress.dismiss(); 
     Toast.makeText(RegisterActivity.this,"Please Enter All Required Fields",Toast.LENGTH_LONG).show(); 
    } 

回答

0
private FirebaseAuth mAuth; 
    mAuth = FirebaseAuth.getInstance(); 
    final FirebaseUser Theuser = mAuth.getCurrentUser(); 
     if (Theuser !=null) 
    _UID = Theuser.getUid(); 
+0

是不是隻返回一個用戶ID? – MariusBrave

0

您可以發送請求Users與當前用戶的UID。

FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser(); 
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference(); 

mDatabase.child("Users").orderByChild(currentUser.getUid()).addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

onDataChange回報看重你正在尋找爲dataSnapshot。然後將它投射到你的模型上,得到想要的。

相關問題