firebase UserNode에서 현재 사용자 세부 정보를 가져와야하는 애플리케이션을 개발 중입니다. 제 경우에는 현재 사용자의 이름과 성을 얻고 싶습니다. 모든 사용자 목록을 성공적으로 가져 왔지만 로그인 한 현재 사용자 세부 정보를 얻으려면 어떻게해야합니까.이 코드를 사용하여 모든 사용자를 가져옵니다. 현재 로그인 한 사용자 세부 정보를 얻으려면이 코드에서 수행 할 작업을 안내하십시오.
DatabaseReference DataRef;
DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode");
DataRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String acctname = (String)childSnapshot.child("firstname").getValue();
Log.i("name", acctname);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("error", databaseError.getMessage());
}
});
특정 사용자를 얻으려면 DatabaseReference
고유 식별자 를 사용해야합니다 . 따라서이 줄을 변경해야합니다.
DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode");
와
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
String uid = firebaseUser.getUid();
String uid = firebaseUser.getDisplayName(); //display the entire name
DataRef = FirebaseDatabase.getInstance().getReference().child("UserNode").child(uid);
그리고이 코드를 사용하십시오 :
DataRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String acctname = childSnapshot.child("firstname").getValue(String.class);
Log.i("name", acctname);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("error", databaseError.getMessage());
}
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다