Использование getSharedPreferences, чтобы получить время - PullRequest
1 голос
/ 02 февраля 2011

Я - новичок в разработке на Java и Android, и у меня возник вопрос о предпочтениях.

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

Я занимался этой проблемой, по крайней мере, два дня, но ничего не придумал.Может кто-нибудь дать мне пример того, как закодировать такое действие?

public static final String PREFS_NAME = "Time_Pref";
public class QuizSplashActivity extends QuizActivity {

@Override   

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    SharedPreferences = getSharedPreferences ("Time_Pref", "MODE_PRIVATE); 
}

Но вот тут я, похоже, заблудился.Я даже не уверен, иду ли я в правильном направлении.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

Хотя я склонен согласиться с комментарием Фальмарри по вашему вопросу, я приведу несколько советов ...

Первое, что вы должны сделать в onCreate (), это создать экземпляр GregorianCalendar, используя new GregorianCalendar(), чтобы инициализировать его текущей датой / временем.

Затем используйте getSharedPreferences, чтобы создать SharedPreferences, затем получите редактор, используя метод edit().

Самый простой способ сохранить время - это миллисекунды, поэтому используйте метод GregorianCalendar getTimeInMillis (унаследованный от Calendar), чтобы получить результат Long.

Наконец, используйте метод putLong() редактора SharedPreferences, чтобы сохранить результат getTimeInMillis, и метод commit() редактора, чтобы сделать изменение постоянным.

Поиск по этим страницам даст вам всю необходимую информацию ... Разработчики Android

1 голос
/ 02 февраля 2011

Я бы порекомендовал вам прочитать главу руководства разработчика о SharedPreferences.Вы можете найти его здесь .

Я предлагаю вам использовать System.currentTimeMillis (), чтобы получить значение времени для сохранения.

Базовый код для сохранения чего-либо в настройках долженвыглядит следующим образом:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // view setup stuff here...

    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putLong("onCreateCallTime", System.currentTimeMillis());
    editor.commit();
}

Затем используйте класс android.text.format.Time для форматирования этого времени после прочтения его из предпочтений:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
long timeMillis = settings.getLong("onCreateCallTime", 0);
Time t = new Time();
t.set(timeMillis);

Чтение Время класс документация чтобы узнать, как форматировать / конвертировать время с помощью его методов:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...