2012-03-05 2 views
0

Я разрабатываю приложение для Android, где мне нужно, чтобы отметка времени была сохранена во время выбора времени, даже если мы нажмем кнопку «Назад» в android. Поскольку я новичок в android, мне нужна помощь. Спасибо заранее за помощь ,сохранить временную метку в подборщик времени

+0

Вы пытаетесь установить значение timestamp для вашего TimePicker? – Richie

+0

Да, установленное время не должно быть потеряно, если я нажму обратно и снова открою ту же самую активность. – thej

+0

Вы можете использовать параметры, заданные elow, для сохранения текущей метки времени (в общей базе данных или в базе данных SQL). Создайте привязку в своей деятельности для компонента timepicker и установите сохраненное значение. – Richie

ответ

0
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); 
+0

благодарит за помощь – thej

0

Если вам нужно упорствовать вам данные для последующего запуска деятельности вы можете сделать это с помощью sql database, shared preferences или, если вам нужно только сохраняться в течение текущего запустите приложение (не для последующего запуска приложения), вы можете создать static variable, удерживая значения, которые вы хотите сохранить для себя. Из того, что я понимаю, вы должны пойти с подходом static variable.

+0

не могли бы вы помочь мне, что я должен сделать, чтобы сохранить установленное время, даже если я нажму кнопку «Назад». – thej

+0

спасибо за вашу помощь – thej

+0

поймать ключ обратно я хотел бы предложить что-то вроде этого: @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