Интеграция Flutter Mobile SDK в ОС Аврора 🚀💻! Тимлид Mobile SDK в 2ГИС и Flutter-разработчик рассказывают о технических деталях адаптации под ОС Аврора 🤔. Узнайте, как они использовали Flutter и Dart для разработки под новую российскую операционную систему 📱. Также вы узнаете, как создать кросс-платформенный SDK для ОС Аврора с помощью Flutter и C++ 📈. Подробности в нашей статье читать здесь 📄. #flutter #dart #flutterpulse 🚀💻
Обзор пакетов на тему "Пагинация и ленивая загрузка" (Pagination & Lazy Loading)
📦 lazy_load_indexed_stack - расширяет IndexedStack, позволяя загружать виджеты только при необходимости и предоставляя улучшенный контроль над перезагрузкой конкретных дочерних виджетов. 👍 Лайки: 93, 📥 Скачиваний: 13.4К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/lazy_load_indexed_stack
📈 firebase_pagination - пакет для упрощения пагинации данных в Firebase Realtime Database и Firestore. 👍 Лайки: 82, 📥 Скачиваний: 2.46К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/firebase_pagination
📊 number_paginator - виджет пагинации для Flutter, который позволяет переключаться между номерами страниц. 👍 Лайки: 104, 📥 Скачиваний: 11.6К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/number_paginator
🚀 infinite_scroll_pagination - пакет позволяет реализовать бесконечную прокрутку и подгрузку элементов по мере прокрутки экрана. 👍 Лайки: 3790, 📥 Скачиваний: 430К
Последнее обновление 📅: 19 дней назад
https://pub.dev/packages/infinite_scroll_pagination
📈 very_good_infinite_list - библиотека позволяет легко отображать пагинированные данные в ваших Flutter-приложениях. 👍 Лайки: 289, 📥 Скачиваний: 14.9К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/very_good_infinite_list
📊 loading_more_list - пакет, позволяющий создавать списки с функцией "загрузить еще" для ListView, GridView, WaterfallFlow и Slivers. 👍 Лайки: 175, 📥 Скачиваний: 4.78К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/loading_more_list
#lazy_load_indexed_stack #firebase_pagination #number_paginator #infinite_scroll_pagination #very_good_infinite_list #loading_more_list #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
📦 lazy_load_indexed_stack - расширяет IndexedStack, позволяя загружать виджеты только при необходимости и предоставляя улучшенный контроль над перезагрузкой конкретных дочерних виджетов. 👍 Лайки: 93, 📥 Скачиваний: 13.4К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/lazy_load_indexed_stack
📈 firebase_pagination - пакет для упрощения пагинации данных в Firebase Realtime Database и Firestore. 👍 Лайки: 82, 📥 Скачиваний: 2.46К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/firebase_pagination
📊 number_paginator - виджет пагинации для Flutter, который позволяет переключаться между номерами страниц. 👍 Лайки: 104, 📥 Скачиваний: 11.6К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/number_paginator
🚀 infinite_scroll_pagination - пакет позволяет реализовать бесконечную прокрутку и подгрузку элементов по мере прокрутки экрана. 👍 Лайки: 3790, 📥 Скачиваний: 430К
Последнее обновление 📅: 19 дней назад
https://pub.dev/packages/infinite_scroll_pagination
📈 very_good_infinite_list - библиотека позволяет легко отображать пагинированные данные в ваших Flutter-приложениях. 👍 Лайки: 289, 📥 Скачиваний: 14.9К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/very_good_infinite_list
📊 loading_more_list - пакет, позволяющий создавать списки с функцией "загрузить еще" для ListView, GridView, WaterfallFlow и Slivers. 👍 Лайки: 175, 📥 Скачиваний: 4.78К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/loading_more_list
#lazy_load_indexed_stack #firebase_pagination #number_paginator #infinite_scroll_pagination #very_good_infinite_list #loading_more_list #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
👍1
🚀 Новости из мира Flutter! 🚀
Привет, друзья! 👋 Сегодня мы поговорим о пакете url_launcher 📱, который позволяет открывать ссылки во внешнем браузере или прямо внутри приложения 🌐. Но это не все - с его помощью можно совершать звонки, отправлять письма и даже открывать мессенджеры и другие приложения с поддержкой кастомных URL-схем 📲!
Хотите узнать, как это работает? 🤔 Тогда читайте новость: 📄
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣
#flutter #dart #flutterpulse 💻📱🔥
Привет, друзья! 👋 Сегодня мы поговорим о пакете url_launcher 📱, который позволяет открывать ссылки во внешнем браузере или прямо внутри приложения 🌐. Но это не все - с его помощью можно совершать звонки, отправлять письма и даже открывать мессенджеры и другие приложения с поддержкой кастомных URL-схем 📲!
Хотите узнать, как это работает? 🤔 Тогда читайте новость: 📄
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣
#flutter #dart #flutterpulse 💻📱🔥
Новые пакеты за неделю
video_view
Плагин для легкого воспроизведения видео в приложениях Flutter. Он поддерживает субтитры и переключение аудиодорожек, а также использует системные или приложенные компоненты для бесшовного воспроизведения.
👍 Лайки: 2, 📥 Скачиваний: 975
https://pub.dev/packages/video_view
stroke_gradient_text
Пакет позволяет создавать текст с градиентным и контурным эффектом.
👍 Лайки: 1, 📥 Скачиваний: 288
https://pub.dev/packages/stroke_gradient_text
flutter_powerauth_mobile_sdk_plugin
Пакет для упрощения подключения к сервису PowerAuth в своих мобильных приложениях.
👍 Лайки: 2, 📥 Скачиваний: 513
https://pub.dev/packages/flutter_powerauth_mobile_sdk_plugin
icon_bundler
Пакет позволяет объединять коллекцию файлов svg, png, jpg в один образ, содержащий все иконки.
👍 Лайки: 11, 📥 Скачиваний: 83
https://pub.dev/packages/icon_bundler
not_static_icons
Пакет содержит более 100 анимированных иконок, которые можно настроить по размеру, цвету, продолжительности анимации и толщине линии.
👍 Лайки: 10, 📥 Скачиваний: 0
https://pub.dev/packages/not_static_icons
background
Пакет для использования красивых изображений или видео в качестве динамических фонов для ваших экранов.
👍 Лайки: 21, 📥 Скачиваний: 96
https://pub.dev/packages/background
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
video_view
Плагин для легкого воспроизведения видео в приложениях Flutter. Он поддерживает субтитры и переключение аудиодорожек, а также использует системные или приложенные компоненты для бесшовного воспроизведения.
👍 Лайки: 2, 📥 Скачиваний: 975
https://pub.dev/packages/video_view
stroke_gradient_text
Пакет позволяет создавать текст с градиентным и контурным эффектом.
👍 Лайки: 1, 📥 Скачиваний: 288
https://pub.dev/packages/stroke_gradient_text
flutter_powerauth_mobile_sdk_plugin
Пакет для упрощения подключения к сервису PowerAuth в своих мобильных приложениях.
👍 Лайки: 2, 📥 Скачиваний: 513
https://pub.dev/packages/flutter_powerauth_mobile_sdk_plugin
icon_bundler
Пакет позволяет объединять коллекцию файлов svg, png, jpg в один образ, содержащий все иконки.
👍 Лайки: 11, 📥 Скачиваний: 83
https://pub.dev/packages/icon_bundler
not_static_icons
Пакет содержит более 100 анимированных иконок, которые можно настроить по размеру, цвету, продолжительности анимации и толщине линии.
👍 Лайки: 10, 📥 Скачиваний: 0
https://pub.dev/packages/not_static_icons
background
Пакет для использования красивых изображений или видео в качестве динамических фонов для ваших экранов.
👍 Лайки: 21, 📥 Скачиваний: 96
https://pub.dev/packages/background
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
👍3
🎯 RuStore — теперь не просто альтернатива, а необходимость
📲 Подписан закон, который обязывает при продаже смартфонов и планшетов в России обеспечивать доступ к установке и обновлению приложений через 🇷🇺 единый магазин RuStore.
💥 Что это значит?
— Устройства, продаваемые в РФ, должны поддерживать RuStore "из коробки"
— Никаких блокировок, ограничений или "невидимых барьеров" для российских приложений
— Запрещено препятствовать обновлениям, уведомлениям, платежам и работе функций, если они идут через RuStore
— Даже 🍏 устройства, которые традиционно "закрыты", формально обязаны обеспечить такую возможность
🚨 Причём:
🔥 А значит — не исключено, что в ближайшем будущем можно будет ставить приложения на iOS через RuStore (в теории… но реализация покажет 😉).
📢 Flutter-разработчики, следим за ситуацией внимательно: возможно, скоро откроются новые каналы распространения даже для iOS. А пока — продолжаем пилить 🧱 🧑💻.
🔗 Подписывайтесь на FlutterPulse — мы разбираем важные законы, фреймворки, SDK и публикуем апдейты без воды.
💬 Что думаете о нововведении? Откроет ли это путь для Flutter-приложений на iOS вне App Store? Прогнётся ли Apple? Пишите в комментариях!
#RuStore #iOS #Закон #МагазинПриложений #MobileDev #Flutter #flutterdev #flutterpulse #россия #санкции #iosdev #androiddev #appdistribution #russia #technews
📲 Подписан закон, который обязывает при продаже смартфонов и планшетов в России обеспечивать доступ к установке и обновлению приложений через 🇷🇺 единый магазин RuStore.
💥 Что это значит?
— Устройства, продаваемые в РФ, должны поддерживать RuStore "из коробки"
— Никаких блокировок, ограничений или "невидимых барьеров" для российских приложений
— Запрещено препятствовать обновлениям, уведомлениям, платежам и работе функций, если они идут через RuStore
— Даже 🍏 устройства, которые традиционно "закрыты", формально обязаны обеспечить такую возможность
🚨 Причём:
📌 В законе отдельно упоминаются производители, ограничивающие доступ к сторонним магазинам.
📌 Закон напрямую запрещает такие ограничения — включая блокировку API, ограничение платежей или недоступность функций для сторонних приложений.
🔥 А значит — не исключено, что в ближайшем будущем можно будет ставить приложения на iOS через RuStore (в теории… но реализация покажет 😉).
📢 Flutter-разработчики, следим за ситуацией внимательно: возможно, скоро откроются новые каналы распространения даже для iOS. А пока — продолжаем пилить 🧱 🧑💻.
🔗 Подписывайтесь на FlutterPulse — мы разбираем важные законы, фреймворки, SDK и публикуем апдейты без воды.
💬 Что думаете о нововведении? Откроет ли это путь для Flutter-приложений на iOS вне App Store? Прогнётся ли Apple? Пишите в комментариях!
#RuStore #iOS #Закон #МагазинПриложений #MobileDev #Flutter #flutterdev #flutterpulse #россия #санкции #iosdev #androiddev #appdistribution #russia #technews
🔥5
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_chat_ui 2.6.2
Плагин для Flutter, который позволяет создавать чат-интерфейсы. Теперь доступен новый loadingBuilder для stream-сообщений.
👍 Лайки: 1510, 📥 Скачиваний: 74.1К
https://pub.dev/packages/flutter_chat_ui
intl_utils 2.8.11
Пакет для создания связи между переводами из файлов .arb и приложением Flutter. В обновлении была обновлена зависимость petitparser.
👍 Лайки: 227, 📥 Скачиваний: 255К
https://pub.dev/packages/intl_utils
slang 4.7.3
Пакет для создания типобезопасных решений для интернационализации (i18n) в проектах на Dart. В новой версии исправлены ошибки с добавлением ключевого слова "override" к зарезервированным словам и удалением пустых классов.
👍 Лайки: 656, 📥 Скачиваний: 94.7К
https://pub.dev/packages/slang
analyzer 7.5.5
Пакет для статического анализа кода на языке Dart. В новой версии удалены свойства LocalVariableElement.hasInitializer и LocalVariableFragment.hasInitializer, которые были не полезны и не использовались.
👍 Лайки: 289, 📥 Скачиваний: 11.8М
https://pub.dev/packages/analyzer
amplitude_flutter 3.16.0
Пакет для интеграции с Amplitude. В этом обновлении исправлена проблема с сессиями в Android SDK, добавлен метод setOffline и исправлены вложенные свойства событий в Web.
👍 Лайки: 113, 📥 Скачиваний: 227К
https://pub.dev/packages/amplitude_flutter
flutter_background_geolocation 1.0.0-rc.1
Пакет для отслеживания местоположения в фоновом режиме и геозонирования с умным обнаружением движения для iOS и Android. В обновлении исправлены ошибки, добавлены новые функции, включая реализацию для Android и улучшение обнаружения местоположения.
👍 Лайки: 805, 📥 Скачиваний: 25.4К
https://pub.dev/packages/flutter_background_geolocation
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_chat_ui #intl_utils #slang #analyzer #amplitude_flutter #flutter_background_geolocation
flutter_chat_ui 2.6.2
Плагин для Flutter, который позволяет создавать чат-интерфейсы. Теперь доступен новый loadingBuilder для stream-сообщений.
👍 Лайки: 1510, 📥 Скачиваний: 74.1К
https://pub.dev/packages/flutter_chat_ui
intl_utils 2.8.11
Пакет для создания связи между переводами из файлов .arb и приложением Flutter. В обновлении была обновлена зависимость petitparser.
👍 Лайки: 227, 📥 Скачиваний: 255К
https://pub.dev/packages/intl_utils
slang 4.7.3
Пакет для создания типобезопасных решений для интернационализации (i18n) в проектах на Dart. В новой версии исправлены ошибки с добавлением ключевого слова "override" к зарезервированным словам и удалением пустых классов.
👍 Лайки: 656, 📥 Скачиваний: 94.7К
https://pub.dev/packages/slang
analyzer 7.5.5
Пакет для статического анализа кода на языке Dart. В новой версии удалены свойства LocalVariableElement.hasInitializer и LocalVariableFragment.hasInitializer, которые были не полезны и не использовались.
👍 Лайки: 289, 📥 Скачиваний: 11.8М
https://pub.dev/packages/analyzer
amplitude_flutter 3.16.0
Пакет для интеграции с Amplitude. В этом обновлении исправлена проблема с сессиями в Android SDK, добавлен метод setOffline и исправлены вложенные свойства событий в Web.
👍 Лайки: 113, 📥 Скачиваний: 227К
https://pub.dev/packages/amplitude_flutter
flutter_background_geolocation 1.0.0-rc.1
Пакет для отслеживания местоположения в фоновом режиме и геозонирования с умным обнаружением движения для iOS и Android. В обновлении исправлены ошибки, добавлены новые функции, включая реализацию для Android и улучшение обнаружения местоположения.
👍 Лайки: 805, 📥 Скачиваний: 25.4К
https://pub.dev/packages/flutter_background_geolocation
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_chat_ui #intl_utils #slang #analyzer #amplitude_flutter #flutter_background_geolocation
Отслеживание жизненного цикла приложения
Привет, подписчики! 👋 Сегодня мы рассмотрим очень полезный совет по Flutter - отслеживание жизненного цикла приложения. 📱💻
Вы знаете, что происходит с вашим приложением, когда оно переходит в фон или возвращается на передний план? 🤔 Чтобы управлять этими изменениями, мы можем использовать специальный метод didChangeAppLifecycleState. 🔍
В примере кода ниже показано, как это работает:
Жизненный цикл приложения включает четыре основных состояния:
- resumed - приложение активно и видимо для пользователя.
- inactive - приложение не активно, но ещё видимо.
- paused - приложение не активно и не видимо (находится в фоне).
- detached - приложение закрыто.
Используя эти знания, вы сможете лучше управлять ресурсами вашего приложения и улучшать пользовательский опыт! 🌟
Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips. 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDevelopment #ProgrammingTips #TechNews
Привет, подписчики! 👋 Сегодня мы рассмотрим очень полезный совет по Flutter - отслеживание жизненного цикла приложения. 📱💻
Вы знаете, что происходит с вашим приложением, когда оно переходит в фон или возвращается на передний план? 🤔 Чтобы управлять этими изменениями, мы можем использовать специальный метод didChangeAppLifecycleState. 🔍
В примере кода ниже показано, как это работает:
class CameraAwesomeState extends State<CameraAwesome> with WidgetsBindingObserver {
// ...
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
switch (state) {
case AppLifecycleState.resumed:
if (!started) {
CamerawesomePlugin.start(); // Запуск камеры при возобновлении работы приложения
}
break;
case AppLifecycleState.inactive:
case AppLifecycleState.paused:
case AppLifecycleState.detached:
if (started) {
CamerawesomePlugin.stop(); // Остановка камеры при переходе в фон или закрытии приложения
}
break;
}
}
// ...
}
Жизненный цикл приложения включает четыре основных состояния:
- resumed - приложение активно и видимо для пользователя.
- inactive - приложение не активно, но ещё видимо.
- paused - приложение не активно и не видимо (находится в фоне).
- detached - приложение закрыто.
Используя эти знания, вы сможете лучше управлять ресурсами вашего приложения и улучшать пользовательский опыт! 🌟
Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips. 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDevelopment #ProgrammingTips #TechNews
👍5
Самые лучшие обновлённые пакеты за последние 24 часа
coverage 1.15.0
Пакет coverage используется для сбора, манипуляции и форматирования данных о покрытии кода для языка Dart.
В новой версии 1.15.0 добавлена функция `filterIgnored`, которая позволяет фильтровать данные о покрытии кода на основе комментариев `// coverage:ignore-...`.
👍 Лайки: 126, 📥 Скачиваний: 8.6М
https://pub.dev/packages/coverage
Retrofit 4.6.0
Пакет Retrofit - это генератор клиента Dio, использующий source_gen и вдохновленный Chopper и Retrofit. Он позволяет легко создавать API-клиенты для приложений на Dart.
В новой версии 4.6.0 обновлена минимальная поддерживаемая версия SDK до Dart 3.6.
👍 Лайки: 1970, 📥 Скачиваний: 492К
https://pub.dev/packages/retrofit
camera 0.11.2
Пакет camera - это плагин для Flutter, позволяющий получить доступ к камерам устройств на iOS, Android и Web. Он позволяет отображать живую предварительную версию камеры, делать снимки и записывать видео.
В новой версии исправлены проблемы с переключателями в примере камеры и экспортом CameraLensType.
👍 Лайки: 2450, 📥 Скачиваний: 471К
https://pub.dev/packages/camera
source_helper 1.3.6
Пакет source_helper предоставляет утилиты для генерации кода Dart. Теперь требует analyzer 7.3.0, source_gen 2.0.0-4.0.0 и sdk 3.6.0.
👍 Лайки: 18, 📥 Скачиваний: 2.4М
https://pub.dev/packages/source_helper
syncfusion_flutter_charts 30.1.38
Пакет syncfusion_flutter_charts - это библиотека визуализации данных для создания красивых, анимированных и высокопроизводительных графиков в приложениях Flutter.
В новой версии исправлена ошибка #GH2377, теперь callback onPointTap возвращает правильный индекс точки для видимых данных.
👍 Лайки: 3510, 📥 Скачиваний: 251К
https://pub.dev/packages/syncfusion_flutter_charts
video_player_avfoundation 2.8.0
Теперь добавлена поддержка платформенных представлений для macOS.
👍 Лайки: 8, 📥 Скачиваний: 2.6М
https://pub.dev/packages/video_player_avfoundation
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #coverage #Retrofit #camera #source_helper #syncfusion_flutter_charts #video_player_avfoundation
coverage 1.15.0
Пакет coverage используется для сбора, манипуляции и форматирования данных о покрытии кода для языка Dart.
В новой версии 1.15.0 добавлена функция `filterIgnored`, которая позволяет фильтровать данные о покрытии кода на основе комментариев `// coverage:ignore-...`.
👍 Лайки: 126, 📥 Скачиваний: 8.6М
https://pub.dev/packages/coverage
Retrofit 4.6.0
Пакет Retrofit - это генератор клиента Dio, использующий source_gen и вдохновленный Chopper и Retrofit. Он позволяет легко создавать API-клиенты для приложений на Dart.
В новой версии 4.6.0 обновлена минимальная поддерживаемая версия SDK до Dart 3.6.
👍 Лайки: 1970, 📥 Скачиваний: 492К
https://pub.dev/packages/retrofit
camera 0.11.2
Пакет camera - это плагин для Flutter, позволяющий получить доступ к камерам устройств на iOS, Android и Web. Он позволяет отображать живую предварительную версию камеры, делать снимки и записывать видео.
В новой версии исправлены проблемы с переключателями в примере камеры и экспортом CameraLensType.
👍 Лайки: 2450, 📥 Скачиваний: 471К
https://pub.dev/packages/camera
source_helper 1.3.6
Пакет source_helper предоставляет утилиты для генерации кода Dart. Теперь требует analyzer 7.3.0, source_gen 2.0.0-4.0.0 и sdk 3.6.0.
👍 Лайки: 18, 📥 Скачиваний: 2.4М
https://pub.dev/packages/source_helper
syncfusion_flutter_charts 30.1.38
Пакет syncfusion_flutter_charts - это библиотека визуализации данных для создания красивых, анимированных и высокопроизводительных графиков в приложениях Flutter.
В новой версии исправлена ошибка #GH2377, теперь callback onPointTap возвращает правильный индекс точки для видимых данных.
👍 Лайки: 3510, 📥 Скачиваний: 251К
https://pub.dev/packages/syncfusion_flutter_charts
video_player_avfoundation 2.8.0
Теперь добавлена поддержка платформенных представлений для macOS.
👍 Лайки: 8, 📥 Скачиваний: 2.6М
https://pub.dev/packages/video_player_avfoundation
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #coverage #Retrofit #camera #source_helper #syncfusion_flutter_charts #video_player_avfoundation
Предоставление разрешений в интеграционных тестах на Android с помощью командной строки adb
Привет, разработчики Flutter! 👋 Сегодня мы поделимся с вами полезным советом о том, как предоставлять разрешения в интеграционных тестах на Android с помощью командной строки adb. 📱💻
Зачем это нужно?
При выполнении интеграционных тестов на Android ваше приложение может требовать определённые разрешения. Без этих разрешений тесты могут завершиться неудачей. 🤕
Решение
Используйте команду
Этот код сначала предоставляет необходимые разрешения, затем запускает интеграционные тесты, и, наконец, отзывает разрешения после завершения тестов. 🔄
Оцените нашу новую рубрику советов для Flutter-разработчиков! 👍 Ваши отзывы помогут нам сделать её ещё лучше. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AndroidDev #IntegrationTesting #FlutterTips
Привет, разработчики Flutter! 👋 Сегодня мы поделимся с вами полезным советом о том, как предоставлять разрешения в интеграционных тестах на Android с помощью командной строки adb. 📱💻
Зачем это нужно?
При выполнении интеграционных тестов на Android ваше приложение может требовать определённые разрешения. Без этих разрешений тесты могут завершиться неудачей. 🤕
Решение
Используйте команду
adb
для предоставления разрешений вашему приложению перед выполнением тестов. Вот пример кода на Dart, который демонстрирует, как это можно сделать:
const List<String> permissions = [
'android.permission.WRITE_EXTERNAL_STORAGE', // Разрешение на запись во внешнее хранилище
'android.permission.RECORD_AUDIO', // Разрешение на запись аудио
];
const String _examplePackage = 'com.apparence.example'; // Имя пакета вашего приложения
Future<void> main() async {
// Предоставляем разрешения перед запуском тестов
permissions.forEach((permission) => Process.runSync(
'adb', ['shell', 'pm', 'grant', _examplePackage, permission]));
print('Starting test.'); // Начало теста
await integrationDriver(); // Запуск интеграционных тестов
print('Test finished. Revoking permissions...'); // Окончание теста и отзыв разрешений
// Отзываем разрешения после завершения тестов
permissions.forEach((permission) => Process.runSync(
'adb', ['shell', 'pm', 'revoke', _examplePackage, permission]));
}
Этот код сначала предоставляет необходимые разрешения, затем запускает интеграционные тесты, и, наконец, отзывает разрешения после завершения тестов. 🔄
Оцените нашу новую рубрику советов для Flutter-разработчиков! 👍 Ваши отзывы помогут нам сделать её ещё лучше. 💬
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AndroidDev #IntegrationTesting #FlutterTips
👍2
Самые лучшие обновлённые пакеты за последние 24 часа
fzregex 2.2.0 - плагин для работы с регулярными выражениями, теперь включает в себя регулярные выражения для криптовалют, индийских налоговых идентификаторов и идентификаторов США. Исправлены незначительные ошибки. 👍 Лайки: 169, 📥 Скачиваний: 1.7К
https://pub.dev/packages/fzregex
retrofit_generator 9.7.0 - плагин для генерации кода для Retrofit, популярной библиотеки для создания REST-клиентов. Теперь с обновлением build_runner до 2.5.4. 👍 Лайки: 176, 📥 Скачиваний: 373К
https://pub.dev/packages/retrofit_generator
dynatrace_flutter_plugin 3.317.1 - плагин для интеграции с Dynatrace, теперь включает обновленные агенты для Android (8.317.1.1007) и iOS (8.317.1.1003). 👍 Лайки: 29, 📥 Скачиваний: 74.8К
https://pub.dev/packages/dynatrace_flutter_plugin
clarity_flutter 1.1.0 - плагин для интеграции аналитики Clarity в приложения Flutter, захватывая пользовательские взаимодействия, просмотры экранов и другие важные метрики. Добавлены новые функции для установки пользовательского идентификатора, тегов и сессий. 👍 Лайки: 124, 📥 Скачиваний: 11.9К
https://pub.dev/packages/clarity_flutter
analyzer 7.5.6 - плагин для статического анализа кода на языке Dart, теперь deprecated метод EnumFragment.constants2, вместо него следует использовать EnumElement2.constants2. 👍 Лайки: 289, 📥 Скачиваний: 12М
https://pub.dev/packages/analyzer
pro_image_editor 10.2.7 - виджет для редактирования изображений в приложениях Flutter, теперь добавлены примеры использования AI для редактирования изображений. 👍 Лайки: 409, 📥 Скачиваний: 21К
https://pub.dev/packages/pro_image_editor
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #fzregex #retrofit_generator #dynatrace_flutter_plugin #clarity_flutter #analyzer #pro_image_editor
fzregex 2.2.0 - плагин для работы с регулярными выражениями, теперь включает в себя регулярные выражения для криптовалют, индийских налоговых идентификаторов и идентификаторов США. Исправлены незначительные ошибки. 👍 Лайки: 169, 📥 Скачиваний: 1.7К
https://pub.dev/packages/fzregex
retrofit_generator 9.7.0 - плагин для генерации кода для Retrofit, популярной библиотеки для создания REST-клиентов. Теперь с обновлением build_runner до 2.5.4. 👍 Лайки: 176, 📥 Скачиваний: 373К
https://pub.dev/packages/retrofit_generator
dynatrace_flutter_plugin 3.317.1 - плагин для интеграции с Dynatrace, теперь включает обновленные агенты для Android (8.317.1.1007) и iOS (8.317.1.1003). 👍 Лайки: 29, 📥 Скачиваний: 74.8К
https://pub.dev/packages/dynatrace_flutter_plugin
clarity_flutter 1.1.0 - плагин для интеграции аналитики Clarity в приложения Flutter, захватывая пользовательские взаимодействия, просмотры экранов и другие важные метрики. Добавлены новые функции для установки пользовательского идентификатора, тегов и сессий. 👍 Лайки: 124, 📥 Скачиваний: 11.9К
https://pub.dev/packages/clarity_flutter
analyzer 7.5.6 - плагин для статического анализа кода на языке Dart, теперь deprecated метод EnumFragment.constants2, вместо него следует использовать EnumElement2.constants2. 👍 Лайки: 289, 📥 Скачиваний: 12М
https://pub.dev/packages/analyzer
pro_image_editor 10.2.7 - виджет для редактирования изображений в приложениях Flutter, теперь добавлены примеры использования AI для редактирования изображений. 👍 Лайки: 409, 📥 Скачиваний: 21К
https://pub.dev/packages/pro_image_editor
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #fzregex #retrofit_generator #dynatrace_flutter_plugin #clarity_flutter #analyzer #pro_image_editor
🎉 Внимание всем разработчикам на Flutter! 🚀💻
У нас есть свежие новости для вас! 📰 Плагин Flutter для VSCode только что получил мощное обновление, и вы точно не захотите его пропустить! 🤩
🆕 Главное в этом релизе:
👉 Hot Reload при сохранении теперь работает ещё стабильнее – забудьте про ручные перезапуски, фокусируйтесь только на коде! ⚡
👉 EmulatorId вместо deviceId в конфигурации запуска – управление симуляторами стало проще и удобнее! 🧩
👉 Команда Add Dependency теперь позволяет выбрать, в какой проект добавить зависимость – особенно полезно для монорепозиториев! 📁
🔧 А ещё в обновлении:
✅ Переменные из циклов for и деструктуризации теперь отображаются в Inline Values – удобнее отлаживать!
✅ Большие списки в отладчике теперь разбиваются на страницы – это улучшает производительность и предотвращает зависания. 📊
✅ Inline Values больше не отображаются в ветках кода, которые не исполнялись – меньше визуального шума! 🧠
✅ Устранено мерцание при установке/удалении брейкпоинтов – теперь всё чётко и без лишних «серых» состояний. 🎯
✅ Hot Reload больше не падает, если вы случайно запустили его несколько раз подряд – стабильность прежде всего! 🔄
✅ Добавлен экспериментальный флаг dart.mcpServer для автоматической регистрации MCP-сервера Dart SDK 3.9.0 и выше. 🧪
🔍 Хотите больше деталей? Ознакомьтесь с полным списком изменений здесь и не забудьте поставить 👍
📢 И конечно же, подписывайтесь на flutterpulse, чтобы не пропустить ничего важного из мира Flutter! Мы следим за каждым обновлением! 💬📱
#flutter #dart #flutterdev #VSCode #обновление #flutterpulse
У нас есть свежие новости для вас! 📰 Плагин Flutter для VSCode только что получил мощное обновление, и вы точно не захотите его пропустить! 🤩
🆕 Главное в этом релизе:
👉 Hot Reload при сохранении теперь работает ещё стабильнее – забудьте про ручные перезапуски, фокусируйтесь только на коде! ⚡
👉 EmulatorId вместо deviceId в конфигурации запуска – управление симуляторами стало проще и удобнее! 🧩
👉 Команда Add Dependency теперь позволяет выбрать, в какой проект добавить зависимость – особенно полезно для монорепозиториев! 📁
🔧 А ещё в обновлении:
✅ Переменные из циклов for и деструктуризации теперь отображаются в Inline Values – удобнее отлаживать!
✅ Большие списки в отладчике теперь разбиваются на страницы – это улучшает производительность и предотвращает зависания. 📊
✅ Inline Values больше не отображаются в ветках кода, которые не исполнялись – меньше визуального шума! 🧠
✅ Устранено мерцание при установке/удалении брейкпоинтов – теперь всё чётко и без лишних «серых» состояний. 🎯
✅ Hot Reload больше не падает, если вы случайно запустили его несколько раз подряд – стабильность прежде всего! 🔄
✅ Добавлен экспериментальный флаг dart.mcpServer для автоматической регистрации MCP-сервера Dart SDK 3.9.0 и выше. 🧪
🔍 Хотите больше деталей? Ознакомьтесь с полным списком изменений здесь и не забудьте поставить 👍
📢 И конечно же, подписывайтесь на flutterpulse, чтобы не пропустить ничего важного из мира Flutter! Мы следим за каждым обновлением! 💬📱
#flutter #dart #flutterdev #VSCode #обновление #flutterpulse
Изменение модели родительского виджета из дочернего
с использованием виджета Actions и модели Intent 🤯
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим интересный трюк, который поможет вам изменить модель родительского виджета из дочернего компонента. Это очень полезный навык при создании сложных интерфейсов. 📱
Основная идея
Используем виджет Actions и модель Intent для взаимодействия между родительским и дочерним компонентами.
Пример кода
Этот подход позволяет элегантно управлять состоянием родительского виджета из дочерних компонентов. 👍
Оцените новую рубрику FlutterPulseTips! 😊 Нам важно ваше мнение!
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #WidgetMagic #StateManagement #FlutterTips
с использованием виджета Actions и модели Intent 🤯
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим интересный трюк, который поможет вам изменить модель родительского виджета из дочернего компонента. Это очень полезный навык при создании сложных интерфейсов. 📱
Основная идея
Используем виджет Actions и модель Intent для взаимодействия между родительским и дочерним компонентами.
Пример кода
// Используем intent для изменения модели действия
class AppBarBuildIntent extends Intent {
final PreferredSizeWidget? appbar;
AppBarBuildIntent(this.appbar);
}
// Действие, которое можно вызвать из любого дочернего элемента
class BartAppbarAction extends Action<AppBarBuildIntent> {
final ValueNotifier<PreferredSizeWidget?> appbar;
BartAppbarAction(this.appbar);
@override
void invoke(covariant AppBarBuildIntent intent) {
this.appbar.value = intent.appbar;
}
}
class MyWidget extends StatelessWidget {
final ValueNotifier<PreferredSizeWidget?> appBarNotifier = ValueNotifier(null);
MyWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Actions(
actions: <Type, Action<Intent>>{
AppBarBuildIntent: BartAppbarAction(appBarNotifier),
},
child: AnimatedBuilder(
animation: appBarNotifier,
builder: (ctx, child) => ...,
),
);
}
}
// Вызов в дочернем элементе для изменения родителя (appBar)
Actions.invoke(context, AppBarBuildIntent(AppBar(title: Text("title text"))));
Этот подход позволяет элегантно управлять состоянием родительского виджета из дочерних компонентов. 👍
Оцените новую рубрику FlutterPulseTips! 😊 Нам важно ваше мнение!
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #WidgetMagic #StateManagement #FlutterTips
Flutter + Cursor: настройка background agent 🚀💻
Узнайте, как использовать Cursor для запуска AI-агентов в фоновом режиме в окружении Ubuntu 🌟👀
В новой статье на habr нам рассказали о новой возможности в Cursor: запуске AI-агентов для работы с задачами на фоне 🤖💻
Читайте здесь: 📚👉
#flutter #dart #flutterpulse 💻📊🔥
Узнайте, как использовать Cursor для запуска AI-агентов в фоновом режиме в окружении Ubuntu 🌟👀
В новой статье на habr нам рассказали о новой возможности в Cursor: запуске AI-агентов для работы с задачами на фоне 🤖💻
Читайте здесь: 📚👉
#flutter #dart #flutterpulse 💻📊🔥