Android: доступ к ресурсам без переоценки активности или контекста

Я отправляю этот вопрос в надежде, что я получу какой-то окончательный ответ.

Неужели невозможно получить доступ к ресурсам без указания активности или контекста. Передавая такие ссылки, когда все, что требуется, – это доступ к некоторым значениям или активам или строкам, которые не имеют никакого отношения к пользовательскому интерфейсу, что делает слишком сложный код.

Плюс все эти потенциальные висячие ссылки.

Кроме того, это полностью разрушает различные шаблоны проектирования, такие как одиночные игры, которые должны поставлять параметры при получении экземпляра.

Постановка статической ссылки

Так что есть путь или все сообщество просто живет с этой проблемой.

Ваши ресурсы связаны с контекстом, это факт, и вы не можете это изменить.

Вот что вы можете сделать:

Расширьте Application , получите контекст приложения и используйте его как статический помощник.

 public class App extends Application { private static Context mContext; public static Resources getResources() { return mContext.getResources(); } public void onCreate() { super.onCreate(); mContext = getApplicationContext(); } } 

Ваш манифест:

 <application android:icon="@drawable/icon" android:label="@string/app_name" android:name="your.package.path.to.App"> 

Сделайте свой класс Application синглом и используйте его. Это Context . Все ресурсы привязаны к вашему приложению, поэтому вам нужна ссылка на Context . Вы можете предварительно загрузить строки и т. Д. В одноэлементном классе, если вы не хотите загружать их динамически.

Intereting Posts
Где я должен использовать Service, AsyncTask и Broadcast Receiver? Отключить анимацию по умолчанию от Portrait to Landscape Плавающая кнопка действия, прикрепленная якорем, не скрывающаяся при прокрутке элементов RecyclerView медленно Какие значения (высокий или низкий) лучше в getGsmSignalStrength от Android () Android draggable ImageVIew Способ получить разблокировку в андроиде? Вспышка приложения сразу после публикации в Google Play Установите onClickListener в LinearLayout, заполненный пользовательским адаптером Android: доступ к файлу базы данных sqlite для файлов с расширением .sqlite Советы по оптимизации времени сборки в студии Android? Uncaught ReferenceError при загрузке файла актива на Android 4.4 Как обращаться с кнопкой «Назад» в диалоговом окне? Команда Android для Ionic Framework не работает в Windows 8 CLI? Просмотр с твердым фоном и верхними + нижними внутренними тенями Android – Найти ориентацию фотографии взяла камера