Публикации по теме 'android-app-development'


Не передавайте TextStyle в виджеты
Если ваши пользовательские виджеты принимают String и TextStyle или любые другие стили: цвет, толщину, textAlign и т. д., вы делаете это неправильно! Вместо этого ваши виджеты должны иметь свойства типа Widget . Вы когда-нибудь задумывались, почему TextButton() , ListTile() и другие принимают виджеты ( не строки ) и как они стилизуют виджет Text() , который вы им передаете? — Они делают это, заключая своих дочерних элементов в DefaultTextStyle или..

Ключ и состояние StatefulWidget
Подробный обзор StatefulWidget Flutter и его жизненного цикла. Вы собираетесь использовать StatefulWidget’s. Если вы собираетесь использовать Flutter, вы собираетесь использовать StatefulWidget’s. Много их. Вместе. Один поверх другого. Это неизбежно. По мере того, как вы изучаете Flutter все больше и больше, ваши приложения будут усложняться ... с большим количеством виджетов. Больше StatefulWidgets. Виджет без сохранения состояния никогда не меняется. Виджет с отслеживанием..

Список компоновок Jetpack Sticky Header
Как добавить липкие заголовки в свои списки в Jetpack Compose Jetpack Compose поставляется со встроенными функциями, которые ускоряют разработку. Одной из таких функций являются липкие заголовки. Но прежде чем мы рассмотрим липкие заголовки, давайте разберемся со списками в Jetpack Compose. LazyColumn и LazyRow Отображать списки на экране Jetpack Compose можно с помощью LazyColumn или LazyRow , в зависимости от требуемой ориентации — это их единственное отличие. Судя по их..

Как это работает - Inside Timber!
В повседневной разработке мы используем всевозможные библиотеки, часто (правильно!) Давая возможность понять, как это на самом деле работает. Но проникновение внутрь библиотек окупается, если мы раскрываем все концепции и маленькие уловки, о которых мы еще не знаем, добавляя их в наш арсенал для использования в наших ежедневных битвах. Ведение журнала - отличный и простой способ отладки того, что происходит внутри вашего приложения. Android предоставляет класс Log для облегчения..

10 вопросов об операторах потока в Kotlin: подробное руководство
Введение: Kotlin Flow API предоставляет мощный способ обработки асинхронного и реактивного программирования. В Flow операторы играют жизненно важную роль в управлении и преобразовании потоков данных. В этой статье мы рассмотрим 10 распространенных вопросов об операторах Flow в Kotlin, предоставив четкие ответы и идеи, которые помогут вам использовать весь потенциал этой универсальной функции. Что такое операторы потока в Kotlin? Операторы потока — это функциональные компоненты..

Создание надежных приложений для Android с чистой архитектурой: важность доменного уровня
Чистая архитектура — это архитектурный шаблон для проектирования программных систем, направленный на достижение высокой ремонтопригодности, тестируемости и масштабируемости. Он основан на разделении задач и создании четко определенных границ между различными уровнями приложения. Уровень предметной области является одним из ключевых компонентов чистой архитектуры и играет решающую роль в разработке приложений для Android. Уровень предметной области является сердцевиной приложения и..

Работа с миграциями в Room Persistence Library
Если вы работали с сохранением данных в приложениях Android, то вы, вероятно, знакомы с библиотеками ORM (Object-Relational Mapping). ORM упрощают написание SQL-запросов с использованием объектно-ориентированной парадигмы, в отличие от непосредственного использования языка SQL. Марио Хойос написал отличную статью об ORM, которую вы можете прочитать здесь . Дальнейшее чтение по ORM можно найти здесь . В Android одними из наиболее распространенных ORM являются Realm и Room. Я..