Захват контекста приложения в android/kotlin

Иногда в пользовательском классе требуется получить доступ к контексту приложения.

Можно использовать метод внедрения зависимостей, но именно для этой задачи мне нравится подход с использованием статического хранилища.

Идея заключается в том, чтобы расширить класс android.app.Application статическим полем context, куда мы будем сохранять ссылку на Application при создании экземпляра класса.

Чтобы эта конструкция заработала, необходимо указать явно имя нового класса в манифесте (AndroidManifest.xml).

В секцию application добавим свойство android:name

С этого момента вы можете получить контекст приложения в любом месте/классе вашего приложения. Например, чтобы вывести сообщение через Toast :

Мало букафф? Читайте есчо !

Как в Kotlin отключить upper case у компонента Button

Март 20, 2023 г.

Компонент Button использует material дизайн и имеет некоторые предопределенные стили, которые иногда хочется изменить. Мне чаще всего требуется убрать UPPERCASE с текста кнопки. На старте шаблон компонента выглядит вот так: [crayon-6a03f3d88168f696265974/] ...

Читать

Как получить строку из R.string по имени

Ноябрь 30, 2022 г.

В общем случае, когда вы находитесь в контексте Activity, это выглядит так: [crayon-6a03f3d8818d3917954333/] При этом вызов getResources() в этом контексте и необязателен, т.е. работает и так: [crayon-6a03f3d8818db356813950/] Если вы находитесь ...

Читать

Создание экземпляра класса по его имени

Март 14, 2023 г.

Получение доступа к классу в режиме рантайм добавляет известной гибкости. Одна из типичных задач - создание экземпляра класса по его имени. В котлин это делается вот так: [crayon-6a03f3d881af0237882195/] Есть несколько нюансов/рекомендаций. ...

Читать

Конструирование визуальных компонентов в kotlin

Март 11, 2023 г.

Android studio предоставляет набор стандартных компонентов, таких как TextView, LinearLayout и пр. Но довольно часто приходится оперировать группами таких ...

Читать
 

Комментарии к «Захват контекста приложения в android/kotlin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: