Start Debugging

dart

122 статей · Страница4из13

2026-09-22 flutterdartandroid

Как сохранить отслеживание местоположения во Flutter в фоне на Android 15

Запускаем трекер местоположения на Flutter, который переживает нажатие кнопки Home, смахивание из списка недавних приложений и перезагрузку на Android 15 и 16: foreground-сервис типа location в собственном движке Flutter, точный набор разрешений и SecurityException, который вы получаете, когда срабатывают правила while-in-use. Проверено с geolocator 14.0.3 и flutter_foreground_task 11.0.3.

Уходим от describeEnum во Flutter, пока его не удалили

describeEnum помечен устаревшим начиная с Flutter 3.16, а PR с его удалением уже одобрен. Как заменить каждый вызов на Enum.name (Flutter 3.47.4, Dart 3.13), что делать с классами, похожими на enum, и с диагностикой, как найти вызовы, спрятанные в зависимостях вроде flutter_svg 1.x, и как выглядит ошибка сборки после удаления.

Как запустить dart fix по всему репозиторию, чтобы применить миграции ломающих изменений Flutter

dart fix принимает один целевой каталог, и этим каталогом может быть корень репозитория: анализатор открывает по контексту на каждый вложенный pubspec.yaml и мигрирует все пакеты за один проход. Здесь полный набор флагов, четыре вещи, которые молча подавляют исправления и заставляют грязный репозиторий сообщать Nothing to fix, почему код возврата бесполезен в CI, и случай, когда трансформация Flutter выдаёт код, который не компилируется.

Как запретить ImageIcon окрашивать иконку цветом окружающего IconTheme во Flutter

ImageIcon превращает многоцветный PNG в плоский силуэт, потому что всегда применяет ColorFilter.mode(iconThemeColor, BlendMode.srcIn). Во Flutter 3.47 появился флаг useOriginalColors, который это отключает. Разбираем, почему color: null никогда не работал, что useOriginalColors молча отбрасывает и чем заменить виджет на старых SDK.
2026-09-07 flutterdarthow-to

Как сохранить значение appFlavor после hot restart при использовании flutter attach

У flutter attach нет опции --flavor, поэтому запускаемый им резидентный компилятор никогда не определяет FLUTTER_APP_FLAVOR, и константа appFlavor становится null при первом hot restart. Три решения: default-flavor в pubspec.yaml, flutter run --use-application-binary и канал платформы, читающий flavor нативно. Проверено на Flutter 3.47.2 / Dart 3.13.2.
2026-09-06 flutterdarthow-to

Как определить нажатие Backspace в пустом TextField во Flutter при вводе OTP

onChanged не срабатывает, потому что никакого редактирования не происходит, а на iOS метод deleteBackward в движке просто возвращается, ничего не тронув, если поле пустое. Два подхода, которые действительно работают на всех платформах: сторожевой символ нулевой ширины, гарантирующий редактирование, и один EditableText за отрисованными ячейками. Проверено на Flutter 3.47.2 / Dart 3.13.2.

ref.watch и ref.read в Riverpod: в чём разница и когда что использовать

ref.watch подписывается и перестраивает, ref.read читает один раз и никогда не перестраивает. Используйте watch в каждом методе build, а read только внутри обработчиков событий. Здесь матрица выбора, исходный код обоих методов во flutter_riverpod 3.4.3 и четыре тихих отказа: watch в обработчике, read в теле провайдера, read у провайдера autoDispose и read в роли оптимизации.
Назад Вперёд