0
我是初學者水平編碼器和麪臨的一個問題:/ 我實現與火力地堡的OAuth用戶登錄註冊....如何保持用戶狀態登錄火力的Oauth安卓
我登錄活動代碼是... 。
public class UserLogin extends AppCompatActivity {
Button SignInBtn;
EditText EmailField, PasswordField;
TextView notReg;
FirebaseAuth mAuth;
FirebaseAuth.AuthStateListener mAuthListner;
String UserEmail, UserPass;
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListner);
}
@Override
protected void onStop() {
super.onStop();
if (mAuthListner != null) {
mAuth.removeAuthStateListener(mAuthListner);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_login);
Initialization(); // views initialized
mAuth = FirebaseAuth.getInstance();
mAuthListnerSetup();
SignInBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
UserEmail = EmailField.getText().toString();
if (TextUtils.isEmpty(UserEmail)) {
EmailField.setError("Enter Email.");
}
UserPass = PasswordField.getText().toString();
if (TextUtils.isEmpty(UserPass)) {
PasswordField.setError("Enter Password");
}
SignIn(UserEmail, UserPass);
}
});
notReg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(UserLogin.this, MainActivity.class));
}
});
} //onCreate Method
private void mAuthListnerSetup() {
mAuthListner = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
}
};
}
private void Initialization() {
EmailField = (EditText) findViewById(R.id.userSigninEmail);
PasswordField = (EditText) findViewById(R.id.userSigninPass);
SignInBtn = (Button) findViewById(R.id.SigninBtn);
notReg = (TextView) findViewById(R.id.notRegUser);
}
private void SignIn(String email, String pass) {
mAuth.signInWithEmailAndPassword(email, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(UserLogin.this, "Failed...", Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(UserLogin.this, all.class));
}
}
});
}
}
當用戶成功登錄後,新的活動開始,我想從下一個活動訪問用戶資料....:/ 在此先感謝希望我能幫助:)
那麼,是否有任何其他方式可以從以前的活動中獲取已登錄用戶的詳細信息? –
是的,還有另一種方法,將這些詳細信息存儲在'SharedPreferences'中。這意味着您可以在整個應用程序中使用它們。如果你只有一些活動,第一個更容易實現。 –
恩你可以給一些指導什麼應該存儲在Prefrences和什麼檢索下一個活動....? –