Reputation:
After having the user log in and getting their uid, how would I save their uid onto SharedPreferences so I can access it throughout my project? This is my code to get their uid:
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String userId = firebaseUser.getUid();
String userEmail = firebaseUser.getEmail();
}
}
};
Upvotes: 2
Views: 6163
Reputation: 11
use this code to save your UID into sharedpreference
.
// for saving uid for shared preference
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String userId = firebaseUser.getUid();
String userEmail = firebaseUser.getEmail();
SharedPreferences sp = getSharedPreferences(PREFS_UID ,Context.MODE_PRIVATE);
sp.edit().putInt(Save_UID,userId ).commit();
}
}
};
// Retrieving id to any activity by calling this
SharedPreferences sp = getSharedPreferences(PREFS_UID,Context.MODE_PRIVATE);
int sc = sp.getInt(Save_UID,0);
Upvotes: 0
Reputation: 481
Try like this:
private SharedPreferences sharedPref;
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String userId = firebaseUser.getUid();
String userEmail = firebaseUser.getEmail();
sharedPref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("firebasekey", userId);
editor.commit();
}
}
};
To retrieve in other activity:
sharedPref = getPreferences(MODE_PRIVATE);
String UserId = sharedPref.getString("firebasekey", "");
Upvotes: 7
Reputation: 1661
Try like this
private SharedPreferences sharedPref;
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String userId = firebaseUser.getUid();
String userEmail = firebaseUser.getEmail();
sharedPref = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("firebasekey", userId);
editor.commit();
}
}
};
Upvotes: 3