하나의 활동에서 사용자를 서명하고 사용자가 인사하는 다른 활동으로 이동합니다. 필자는 이메일/패스워드를 사용하여 사용자 로그인을 위해 내장 된 Firebase 메소드를 사용하고 있습니다. 나는 Firebase Database에 UID를 가지고 있는데 이것은 이름과 연결되어있다. 필자는 수동으로 Firebase에서 사용자를 입력하고 나중에 가입 활동을 구현할 것입니다. 두 번째 활동에서 사용자의 UID에 액세스하려면 어떻게합니까?활동 전반에 걸쳐 사용자 정보에 액세스하십시오. Firebase Android
3
A
답변
4
uid를 전달하는 대신 use an auth state listener to detect the user in each activity을 사용할 수도 있습니다. 해당 문서 페이지에서 :
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// ...
}
};
이 코드는 일반적으로 활동을 파생시킨 기본 클래스로 이동합니다.
0
SharedPreferences
에 저장하고 두 번째 활동에서 검색하거나 Intent
개체를 통해 두 번째 활동으로 전달해야합니다.
SharedPreferences
은 앱에 데이터를 지속적으로 저장하는 간단한 방법 중 하나입니다. SharedPreferences
에 저장된 데이터는 앱의 거의 모든 위치에서 검색하고 수정할 수 있습니다. 시스템이 백업 할 수 있기 때문에 데이터는 전화 재시작 및 앱 제거에서도 계속 유지됩니다. Here은 공식적인 설명입니다. 그리고 here 좋은 자습서입니다.
+0
SharedPreferences 부분을 확장 할 수 있습니까? –
2
그냥 자동으로 이전 acivity에서 사용자를 얻을 것이다
FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
UID = user.getUid();
를 사용합니다.
이것을 로그인 클래스에 추가해야합니까? 인사말 수업에서이 문제를 시도했지만 작동하지 않습니다. 이 파일은 Firebase이 만든 저장된 Auth Token으로부터 데이터를 가져 옵니까? –
인증 상태는 실제로 활동간에 지속됩니다. –
안녕하세요 @ FrankvanPuffelen 당신은 세션이 지속되는 곳을 알고 계십니까? sharedpreferences 어쩌면? 감사합니다 –