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

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

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

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

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

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

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

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

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

Ноябрь 5, 2022 г.

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

Читать

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

Март 14, 2023 г.

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

Читать

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

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

Ноябрь 30, 2022 г.

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

Читать
 

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

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



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