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

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

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

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

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

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

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

Написать комментарий

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

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

Март 20, 2023 г.

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

Читать

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

Ноябрь 30, 2022 г.

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

Читать

 

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

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



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