2011-12-23 3 views

ответ

11

Использовать sharedPreferences для хранения постоянной информации. При первом запуске приложения просто сохраняйте логическое значение в общих настройках. Затем проверяйте каждый раз.

SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE); 
SharedPreferences.Editor prefEditor = sharedPref.edit(); 
prefEditor.putString("isLauncedTime",true); 
prefEditor.commit(); 
+0

как я могу проверить? – ofeking109

+5

У меня есть код ниже – ProfSmiles

+0

Это решение не работает, если у пользователя есть автоматическое резервное копирование, и приложение переустановлено. –

0

Я не знаю, если это лучшее решение, но ...

Я пытался хранить простую булев в файловой системе Android, и при запуске приложения для Android, проверяя, если это логическое значение существует и то, что это значение есть.

Опять же, не уверен, что это правильный способ сделать это, это просто мой собственный способ обойти это.

+0

Хм, просто чтобы понять вас, вы можете объяснить, как вы храните логическое значение в файловой системе? – WarrenFaith

+1

Я использовал текстовый файл, который я впоследствии преобразовал с помощью Boolean.parseBoolean (string); Не лучший способ, я знаю ... Я узнал гораздо лучший путь из комментария Джейнала. – Eugen

5

Возможно, вы захотите обратиться к http://developer.android.com/guide/topics/data/data-storage.html#pref.

Вы можете загрузить логическое значение при первом запуске приложения в общих настройках, а затем проверить, верно ли это в следующих запусках, так что вы знаете, что программа уже была запущена один раз.

17

Каждое приложение получает возможность хранить предпочтения или опции, так что вы можете иметь один для того, или нет приложение ранее запустить

SharedPreferences runCheck = PreferenceManager.getSharedPreferences("hasRunBefore", 0); //load the preferences 
Boolean hasRun = runCheck.getBoolean("hasRun", false); //see if it's run before, default no 
if (!hasRun) { 
    SharedPreferences settings = getSharedPreferences("hasRunBefore", 0); 
    SharedPreferences.Editor edit = settings.edit(); 
    edit.putBoolean("hasRun", true); //set to has run 
    edit.commit(); //apply 
    //code for if this is the first time the app has run 
} 
else { 
    //code if the app HAS run before 
} 
Смежные вопросы