Как хранить небольшие объемы данных для частого поиска в Android?

У меня есть следующий кортеж данных, описывающий пользователя моего приложения:

(userID, name, email, contact number) 

и я хочу часто получать доступ к этим данным во всем приложении. В моей базе данных есть таблица контактов, в которой хранятся кортежи этого типа для описания других контактов. Причина, по которой я не хочу хранить кортеж, описывающий пользователя, состоит в том, что, кажется, расточительно иметь атрибут для отметки, какие данные являются "я", а также я использую таблицу непосредственно для приглашения пользователей, поэтому я не хочу, чтобы пользователи видеть себя в списке контактов! Я думал об использовании общих предпочтений для хранения "себя", но я могу решить включить больше данных в будущем и собрать воедино кортеж из нескольких ключевых: поиск значений кажется очень грязным решением. Как лучше всего хранить эти "осколки" данных, чтобы они были легко доступны и не растрачивали?

Спасибо:)

3 ответа

Решение

Попробуй общие настройки

http://developer.android.com/guide/topics/data/data-storage.html

Вот ваш выбор для хранения данных:

Android Data Storage

Я бы попробовал использовать внешний файл, если вы не хотите использовать общие настройки или базу данных. Файлы XML и JSON - хороший выбор, который можно легко проанализировать. Если вы попробуете файл JSON, вы сможете получить к нему доступ, используя GSON в своем коде.

Другой вариант - создать подкласс Application, в котором есть поля (и методы get/set) для ваших переменных. Используйте этот класс в вашем <application> тег в манифесте. Затем используйте, например, ((MyApplication)getApplicationContext()).getUserId()

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

Другие вопросы по тегам