2015-08-13 3 views
0

В настоящее время я работаю над своим первым приложением, и я решил сделать это на Android. У меня есть основной вид работы, как я желаю, и динамическое отображение времени/даты.Хранение данных в Android

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

Идеально бывало два нажатия кнопки в день, один на часы в/часы (приложение для отслеживания моих часов работы и расчета оплаты). Каков наилучший способ сделать это? Можете ли вы, ребята, указать мне в правильном направлении на хранение этих данных?

Я думал об использовании Parse, но тогда вам понадобится онлайн-соединение, правильно? Есть ли способ сделать это локально, а потом, возможно, я смогу реализовать онлайн-хранилище позже?

+0

Ваш первый порт захода должен быть документацией разработчика для вашей платформы - в данном случае [хранилище данных Android] (http://developer.android.com/guide/topics/data/data-storage.html), как было получено ответ на вопрос [ver. y аналогичный вопрос] (http://stackoverflow.com/questions/12665730/how-do-i-save-data-permanently-so-i-can-access-it-later-in-android). –

ответ

0

Самый простой способ - использовать SharedPreferences, но более всеобъемлющее динамическое хранилище будет использовать Sqlite.

Shared Preferences

SharedPreferences prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 

prefs.putLong(FIRST_TIME,nix timestamp).commit(); 

prefs.putLong(SECOND_TIME, nix timestamp).commit(); 

и получить тот же путь:

long firstTime = prefs.getLong(FIRST_TIME); 

long secondTime = prefs.getLong(SECOND_TIME); 
+0

Можете ли вы порекомендовать хороший ресурс для sqlite? – jchav

+0

Центр разработчика Android – andrewdleach

+1

https://developer.android.com/training/basics/data-storage/databases.html –

0

Лучший способ хранить в локальной БД (Sqlite).

1

Если данные, которые вы хотите сохранить, не очень сложны, я бы использовал SharedPreferences. Вот пример:

Для записи данных:

SharedPreferences sharedPref = getSharedPreferences("com.example.myapp.PREFERENCE_FILE_KEY", 
    Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putLong("clockIn", clockIn.getTime()); 
editor.commit(); 

Для чтения данных:

SharedPreferences sharedPref = getSharedPreferences("com.example.myapp.PREFERENCE_FILE_KEY", 
    Context.MODE_PRIVATE); 
Date clockIn = new Date(getResources().getLong("clockIn")); 

Взгляните на это для получения дополнительной информации: https://developer.android.com/training/basics/data-storage/shared-preferences.html

+0

Единственными данными, которые я хотел бы сохранить, является время и дата. Это время/дата записываются, когда я нажимаю «часы в» и записываю еще раз, когда я нажимаю часы. Затем я вычислил прошедшее время. – jchav

+0

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

Смежные вопросы