Я разрабатываю приложение для Android, где мне нужно, чтобы отметка времени была сохранена во время выбора времени, даже если мы нажмем кнопку «Назад» в android. Поскольку я новичок в android, мне нужна помощь. Спасибо заранее за помощь ,сохранить временную метку в подборщик времени
ответ
System.currentTimeMillis();
Получит текущий timestamp.If вы хотите сохранить его как-то вы можете использовать SharedPrefences или БД SQLite или что-то вроде этого.
Я думаю, что предпочитаю SharedPreferences, так как вы хотите, чтобы временная метка была там после нажатия кнопки «Назад». Нажатие этой кнопки может выйти из приложения, поэтому некоторое постоянное хранилище будет в порядке. Timestampt не POJO, поэтому SharePreferences - мой первый выбор.
Нечто подобное должно помочь:
// That will save the timestamp
SharedPreferences pref = context.getSharedPreferences("PREF_TAG_TIMESTAMP", Context.MODE_PRIVATE);
pref.edit().putLong("PREF_TAG_TIMESTMAP", System.currentTimeMillis()).commit();
pref.edit().clear().commit();
// That will get you the timestamp
SharedPreferences pref = context.getSharedPreferences("PREF_TAG_TIMESTAMP", Context.MODE_PRIVATE);
pref.getLong("PREF_TAG_TIMESTMAP", -1.0);
благодарит за помощь – thej
Если вам нужно упорствовать вам данные для последующего запуска деятельности вы можете сделать это с помощью sql database, shared preferences или, если вам нужно только сохраняться в течение текущего запустите приложение (не для последующего запуска приложения), вы можете создать static variable, удерживая значения, которые вы хотите сохранить для себя. Из того, что я понимаю, вы должны пойти с подходом static variable.
не могли бы вы помочь мне, что я должен сделать, чтобы сохранить установленное время, даже если я нажму кнопку «Назад». – thej
спасибо за вашу помощь – thej
поймать ключ обратно я хотел бы предложить что-то вроде этого: @Override общественного логический OnKeyDown (интермедиат KEYCODE, KeyEvent событие) { если (Integer.parseInt (android.os.Build.VERSION.SDK) <5 && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { Log.d («CDA», «onKeyDown Called»); onBackPressed(); } return super.onKeyDown (keyCode, event); } public void onBackPressed() { // save данные return; } ' – erbsman
Вы пытаетесь установить значение timestamp для вашего TimePicker? – Richie
Да, установленное время не должно быть потеряно, если я нажму обратно и снова открою ту же самую активность. – thej
Вы можете использовать параметры, заданные elow, для сохранения текущей метки времени (в общей базе данных или в базе данных SQL). Создайте привязку в своей деятельности для компонента timepicker и установите сохраненное значение. – Richie