Если коротко, то в тег A можно добавить атрибут download. Это укажет, что содержимое не адрес, куда следует перейти, а файл для скачивания.
Читать далее »Все записи категории ‘На первой полосе’
Передача параметров при создании viewModel
Распространенная задача — при создании viewModel требуется передать параметры из активити или фрагмента.
Читать далее »View Binding в kotlin
Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов.
Читать далее »Работа с фрагментами в kotlin
Небольшой гайд по работе с фрагментами в android studio.
Фрагменты чем то напоминают фреймы в html. Фрагменты обладают многими возможностями, которые есть у активити (Activity), имеют свой lifecycle, также работают с viewModel и т.п. И конечно же фрагмент имеет собственный шаблон (layout).
Но при этом, фрагмент можно встроить в другой шаблон (используя контейнер FragmentContainerView) и запрограммировать логику активити или другого фрагмента, чтобы он подключал нужный фрагмент, где инкапсулирована требуемая логика.
Читать далее »Cannot find implementation for Database. Database_Impl does not exist (Room)
Данная ошибка при работе c Room обычно связана с неполным или неверным описанием в gradle файлах, связанных с обработчиком аннотаций. Т.е. суть ошибки в том, что он просто не может прочитать аннотации, которые вы сделали к классу базы данных, и по умолчанию ищет класс с указанным в тексте ошибки именем.
Читать далее »Автоинкремент версии билда в проекте на kotlin
Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.
Читать далее »Прерывание Toast в kotlin
Всплывающее сообщение, формируемое Toast, обычно используют в стиле — создал — показал — забыл. Если сообщений много, то они ждут своей очереди, чтобы быть показанными.
Но когда ситуация меняется быстро в приложении, то сообщения могут просто не успевать за динамикой, и пользователь будет дезориентирован текущим сообщением, тогда так актуальная подсказка высветится еще не скоро.
Читать далее »Вложенные прокручиваемые (scrollable) элементы в макете android
Если вы используете, к примеру, RecyclerView компонент внутри ScrollView layout, то могут возникнуть коллизии, связанные с тем, что оба элемента пытаются обработать прокрутку.
Читать далее »Лишние сетевые интерфейсы в WSL Ubuntu
Продолжаю использовать Ubuntu (v22) на WSL 2. Не давно столкнулся с не приятным моментом. Из WSL вдруг перестала быть видимой внешняя сеть, хотя до этого годами было всё ОК.
Читать далее »CKEditor5: удаление элемента при удалении в нем текста (элементов)
Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер.
Читать далее »