Я пытаюсь получить информацию о пользователе из firebase после успешного входа в систему. как имя пользователя, номер телефона и т. д. c. поэтому эти данные я хочу сохранить в переменной sharedpreference. так что я могу использовать эти переменные во всем приложении. но когда я пытаюсь сохранить и получить доступ извне, выбрасываю ноль.
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
mProgressDialog.dismiss();
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
FirebaseUser user = task.getResult().getUser();
user_tbl.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user1=null;
//Check if user not exist in database
if (dataSnapshot.child(user.getUid()).exists()) {
user1 = dataSnapshot.child(user.getUid()).getValue(User.class);
// user_tbl.removeEventListener(this);
}
editor.putString("username", user1.getUserName());
editor.apply();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
editor.putString("logged", "logged");
editor.putString("email",email);
editor.commit();