Как хранить данные, которые нужны везде и всегда на android?
Да, у нас есть множество методов хранения информации - от SharedPreferences, до ExternalStorage.
Да, мы можем тащить за собой данные с помощью "intent.putExtra".
Однако при использовании первого "да" нам придется в каждом onCreate тратить ресурсы и время на постоянное определение классов и информации, а во втором ко всему этому добавляется еще и их определение перед созданием intent'а, а так же постоянное дублирование (?) этой информации (На счет последнего я не уверен - рассуждаю чисто логически, все предыдущие активити и их данные остаются в backStack).
Отсюда возникает вопрос - как именно следует хранить подобные данные?
Могу я задать чисто теоретический вопрос относительно статического класса-контейнера?
1) Создаем экземпляр класса и помещаем в него данные
2) Уничтожаем экземпляр класса
3) Экземпляров класса нигде не существует
4) Что будет с данными, введенными ранее в уничтоженный экземпляр класса? Будут ли они доступны если определить новый экземпляр? Будут ли они доступны, в новом активити?
Rou1997: хм.. я спутал статик с модификатором, который позволяет изменять значение во всех экземплярах класса.
Но если так, то зачем оно вообще надо при наличии ресурсов типа строк? Это же велосипед получается т.к. есть класс "R.strings.[name]". Вопрос то не про предопределенные данные, а про данные, которые могут быть получены только в результате работы приложения.
loly: Вы что, никогда не видели статические поля и методы, голова у вас не варит, такие вопросы задаете, зачем экземпляры, если поле статическое, и get/set статические?
Создаёте статический класс - helper для работы с SharedPreferences, пишите нужные методы для put и get, а потом в нужно месте дергаете MySPHelper.putMyVariable(Context, Variable);