2015-04-01 5 views
0

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

ответ

3

Вы можете сохранить его в SharedPreferences.

SharedPreferences spref = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = spref.edit(); 
editor.putInt("lastStartTime", System.currentTimeMillis()); 
// Commit the edits! 
editor.commit(); 
+1

Кстати, 'editor.apply()' быстрее, чем 'editor.commit()' –

0

ISO 8601

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

Если вы хотите получить более понятное для человека значение, я предлагаю использовать стандартный формат ISO 8601.

Пример: 2015-04-01T08:41:51+02:00

Joda-Time библиотека генерирует и анализирует такие строки по умолчанию. Если вы много работаете с датой, я настоятельно рекомендую научиться использовать Joda-Time, а не хлопотные и ошибочные классы java.util.Date/.Calendar в комплекте с Java (и Android). Joda-Time работает в Android.

UTC

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

Пример значения UTC, где смещение установлено на ноль.

2015-04-01T06:41:51+00:00 
Смежные вопросы