У меня есть приложение на Android 4.0. Он использует класс PreferenceManager для - среди прочего - позволяет пользователю указать, сколько десятичных знаков числа показывать.Доступ к контексту приложения в классе хранения в Android
mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Как правило, у меня нет проблем с контекстом приложения, чтобы получить доступ к диспетчеру предпочтений. Моя проблема в том, что у меня есть класс (назовем его Record), который не подклассифицирует все, что имеет контекст приложения; это просто класс хранения, но у него есть поле «NumDecPlaces». Прямо сейчас, когда я создаю экземпляр класса из своего приложения, я просто передаю предпочтение #dec в пользовательских предпочтениях. Было бы неплохо, если запись могла напрямую обращаться к диспетчеру предпочтений. Я полагаю, что всегда мог бы создать экземпляр Record с указателем на контекст, из которого он был создан, но это очень важно запомнить ;-)
Так что прямо сейчас не записывайте подклассы. Любые рекомендации по тому, что я могу сделать, чтобы он мог видеть контекст приложения?
Спасибо!
Да, это была моя первая реакция на проблему. Как я уже говорил, я просто пытался избежать «помнить», чтобы создать контекст. Это действительно не большая проблема, и это происходит почти везде в Android-разработке, поэтому я не знаю, почему я отказался. – Chris
Да, вам нужно будет либо передать объект Context или объект SharedPrefrences в свой конструктор. – Apoorv
... и я действительно слишком много жалуюсь на дополнительную работу. Eclipse очень хорошо напоминает мне. – Chris