2016-11-18 11 views
-6

Я создаю относительно простое приложение/игру, состоящую из задач и подзадач. Прогрессия пользователя должна быть сохранена. Пользователь также имеет небольшое количество настроек.Где хранить данные приложения?

На данный момент приложение не подключается к внешним службам, но в будущем цель состоит в том, чтобы использовать Facebook или что-то подобное для регистрации пользователей и добавить функцию для совместного использования прогресса/достижения с другими пользователями.

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

Чтобы все было сделано быстро и, возможно, даже выпустило версию 1.0, я хотел бы пойти с самым простым решением. Итак, я хотел бы знать, есть ли недостаток в выборе значения ключа или сохранения в файле и насколько сложно переключиться на сохранение базы данных? Или я должен просто использовать базу данных с самого начала?

Я приветствую вас за то, что вы нашли время, чтобы ответить на это!

-Timo

+1

в первую очередь основанный на мнениях ... вы проверили тему «Варианты хранения» в официальных руководствах по андроидам? – Selvin

+0

«Общие настройки» - отличный вариант для вас. – AJay

+0

Спасибо AJay! Я попробую. –

ответ

1

Я рекомендую вам SharedPreferences. Это простой класс Android, который хранит ваши данные в наборах Key-Value.

Вот код:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

Это инициализировать SharedPreferences. Если вы хотите, чтобы написать/изменить значение, выполните следующие действия:

SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt("KEY_TO_VALUE", 123); 
editor.commit(); 

Вы также можете поместить в других там типов значений, но чем вам нужно позвонить putString или putBoolean или даже других типов.

Чтобы прочитать значение этого:

int a = prefs.getInt("KEY_TO_VALUE", 0); 

Этот код нужен, как всегда ваш параметр ваш ключ и второй параметр значение по умолчанию.

Еще один совет для вас: если вы хотите использовать его в обычном приложении с легким интерфейсом, есть что-то, называемое PreferenceScreen.

+0

Спасибо! Я отдам это. –

1

Самый простой способ использует SharedPreferences. Для сложных сложных задач вам необходимо использовать SQLite (встроенный) или некоторые ORM, такие как Realm или GreenDao. Для обмена онлайн-оценками вам необходимо использовать один из вышеупомянутых и сервер. Facebook позволяет хранить только одно целое число для пользователя, которого иногда недостаточно, а также для хранения этого целого вам нужно запросить дополнительное разрешение у пользователя (publish_actions). Надеюсь, это поможет.

+0

Спасибо! Это полезные tps. –