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

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

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

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

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

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

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

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

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

Ноябрь 30, 2022 г.

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

Читать

Сохранение файла в Downloads Android

Ноябрь 5, 2022 г.

Задача - создать файл в каталоге Downloads из вашего приложения на платформе Android. Пусть это будет какой то текстовый файл, который наше приложение умеет генерировать. Формат файла - XML. Наша задача решается по-разному для андроидов 10+ ...

Читать

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

Март 14, 2023 г.

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

Читать

Как изменить цвет фона приложения

Январь 14, 2025 г.

Когда вы проектируете макет активити в android studio вы можете у корневого контейнера задать цвет фона выбрав соответствующее значение атрибута android:background. Как в примере ниже - черный фон [crayon-6aa56099db7fb003289387/] Это будет ...

Читать
 

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

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



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