Все записи категории ‘На первой полосе’

Как сделать ссылку, которая заставит браузер скачать файл

 20 Фев, 2025

Если коротко, то в тег A можно добавить атрибут download. Это укажет, что содержимое не адрес, куда следует перейти, а файл для скачивания.

Читать далее »

Передача параметров при создании viewModel

 17 Фев, 2025

Распространенная задача — при создании viewModel требуется передать параметры из активити или фрагмента.

Читать далее »

View Binding в kotlin

 15 Фев, 2025

Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов.

Читать далее »

Работа с фрагментами в kotlin

 13 Фев, 2025

Небольшой гайд по работе с фрагментами в android studio.

Фрагменты чем то напоминают фреймы в html. Фрагменты обладают многими возможностями, которые есть у активити (Activity), имеют свой lifecycle, также работают с viewModel и т.п. И конечно же фрагмент имеет собственный шаблон (layout).

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

Читать далее »

Cannot find implementation for Database. Database_Impl does not exist (Room)

 11 Фев, 2025

Данная ошибка при работе c Room обычно связана с неполным или неверным описанием в gradle файлах, связанных с обработчиком аннотаций. Т.е. суть ошибки в том, что он просто не может прочитать аннотации, которые вы сделали к классу базы данных, и по умолчанию ищет класс с указанным в тексте ошибки именем.

Читать далее »

Автоинкремент версии билда в проекте на kotlin

 9 Фев, 2025

Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.

Читать далее »

Прерывание Toast в kotlin

 8 Фев, 2025

Всплывающее сообщение, формируемое Toast, обычно используют в стиле — создал — показал — забыл. Если сообщений много, то они ждут своей очереди, чтобы быть показанными.

Но когда ситуация меняется быстро в приложении, то сообщения могут просто не успевать за динамикой, и пользователь будет дезориентирован текущим сообщением, тогда так актуальная подсказка высветится еще не скоро.

Читать далее »

Вложенные прокручиваемые (scrollable) элементы в макете android

 6 Фев, 2025

Если вы используете, к примеру, RecyclerView компонент внутри ScrollView layout, то могут возникнуть коллизии, связанные с тем, что оба элемента пытаются обработать прокрутку.

Читать далее »

Лишние сетевые интерфейсы в WSL Ubuntu

 5 Фев, 2025

Продолжаю использовать Ubuntu (v22) на WSL 2. Не давно столкнулся с не приятным моментом. Из WSL вдруг перестала быть видимой внешняя сеть, хотя до этого годами было всё ОК.

Читать далее »

CKEditor5: удаление элемента при удалении в нем текста (элементов)

 3 Фев, 2025

Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер.

Читать далее »