Как хранить небольшие объемы данных для частого поиска в Android?
У меня есть следующий кортеж данных, описывающий пользователя моего приложения:
(userID, name, email, contact number)
и я хочу часто получать доступ к этим данным во всем приложении. В моей базе данных есть таблица контактов, в которой хранятся кортежи этого типа для описания других контактов. Причина, по которой я не хочу хранить кортеж, описывающий пользователя, состоит в том, что, кажется, расточительно иметь атрибут для отметки, какие данные являются "я", а также я использую таблицу непосредственно для приглашения пользователей, поэтому я не хочу, чтобы пользователи видеть себя в списке контактов! Я думал об использовании общих предпочтений для хранения "себя", но я могу решить включить больше данных в будущем и собрать воедино кортеж из нескольких ключевых: поиск значений кажется очень грязным решением. Как лучше всего хранить эти "осколки" данных, чтобы они были легко доступны и не растрачивали?
Спасибо:)
3 ответа
Попробуй общие настройки
http://developer.android.com/guide/topics/data/data-storage.html
Вот ваш выбор для хранения данных:
Я бы попробовал использовать внешний файл, если вы не хотите использовать общие настройки или базу данных. Файлы XML и JSON - хороший выбор, который можно легко проанализировать. Если вы попробуете файл JSON, вы сможете получить к нему доступ, используя GSON в своем коде.
Другой вариант - создать подкласс Application, в котором есть поля (и методы get/set) для ваших переменных. Используйте этот класс в вашем <application>
тег в манифесте. Затем используйте, например, ((MyApplication)getApplicationContext()).getUserId()
Если поля являются статическими, вы можете обнаружить, что они сохраняются во всех экземплярах приложения. Я не пробовал это все же.