Je voudrais savoir si l'utilisateur utilise l'application pour la première fois. J'utilise SharedPreferences
, mais je ne suis pas sûr si j'ai la bonne logique.Comment puis-je détecter si un utilisateur utilise mon application pour la première fois?
Comment puis-je définir mon booléen isFirstLaunched
sur true lors du premier lancement de l'utilisateur, puis immédiatement sur false après le travail?
protected void onStart() {
super.onStart();
if(isFirstLaunch()){
populateDefaultQuotes();
//Save the preferences, isFirstLaunch will now be false
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isFirstLaunch", false);
editor.commit();
}
setupUI();
checkOrientation();
restoreCache();
}
private void populateDefaultQuotes(){
System.out.println("!!!!!! FIRST TIMER !!!!!!");
}
private boolean isFirstLaunch() {
// Restore preferences
SharedPreferences settings = getSharedPreferences(Constants.PREFS_NAME, 0);
boolean isFirstLaunch = settings.getBoolean("isFirstLaunch", false);
return isFirstLaunch;
}
Soyez conscient que si un utilisateur efface les données du Gestionnaire d'applications, le SharedPreference sera effacé. –
grand point. Y a-t-il une solution plus correcte que SharedPreferences? –