我想知道用戶是否第一次使用該應用程序。我正在使用SharedPreferences
,但我不確定我是否擁有正確的邏輯。如何檢測用戶是否第一次使用我的應用程序?
如何在用戶首次啓動時將我的isFirstLaunched
布爾值設置爲true,然後在完成工作後立即將其設置爲false?
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;
}
注意,如果用戶清除從應用程序管理器中的數據,SharedPreference將被刪除。 – 2010-09-21 17:13:49
偉大的一點。有沒有比SharedPreferences更正確的解決方案? – 2010-09-21 17:56:48