Flutter: переименование пакета

Ситуация: при создании приложения было выбрано не то имя для пакета.

Решение: для решения проблемы, в pubspec.yaml добавим пакет change_app_package_name (в секцию dev_depencies), после чего в командной строке в папке приложения выполним:

Flutter: событие с параметрами при использовании BLOC

Зачастую нужно вызвать не просто событие, но и передать ему параметры. Делается это примерно так:

event.dart

В нужном месте дернем вызов UpdateListFull:

Ну и сам bloc.dart:

Flutter: отображение веб страницы в виджете

Работа с webview во Flutter не так проста как на «чистом» Java/Kotlin. В основном из-за того что, на pub.dev есть большое разнообразие собственно вапперов к webview, а потому выбрать рабочую и полноценную реализацию не так просто. Я например потратил с полдня, чтобы выяснить, что:

webview_flutter — не отображает страницы с «плохими» сертификатами SSL. Например самоподписанными, или с сертификатами с истёкшим сроком действия, или с сертификатом к которому нет доверия (теперь это все сайты госучреждений и некоторых банков). И нет никакого способа (или не нашел), заставить это сделать.

flutter_inappwebview — та же самая проблема что и в вышеуказанном плагине. Да, там есть ключ «игнорировать ошибки SSL», но он не работает

flutter_webview_plugin — выпущен 21 месяц назад, и при компиляции уже ругается на отсутствие поддержки Android 12. Хотя как раз этот плагин, работает со страницами с плохим SSL именно так как нужно

flutter_webview_plugin_ios_android — а вот этот плагин, это как я понял «подхваченый из ослабеших» рук разработчиков flutter_webview_plugin, и доработаный уже под Android 12. На нём мои поиски и закончились. Ниже минимальный пример для работы с ним:

Flutter: импорт всех файлов из папки

Как такового способа типа:

к сожалению нет. Чтобы включить в проект все файлы папки, можно воспользоваться небольшим трюком — создать в корне папки еще один файл с содержимым вида:

И уже далее, в основном проекте его добавлять как:

Flutter: архитектура BLOC

Основная идея данной архитектуры — отделить отрисовку от логики. Побочная возможность — еще один способ изменения данных виджета из другого виджета, без использования StreamController (ну на самом деле он таки используется но «внутри») и передергивания SetState

Итак, для использования нужно в pubspec.yaml добавить:

» Читать далее
1 2 3 4 10