Flutter Pulse
529 subscribers
353 photos
776 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Скачивание файла из Firebase и отслеживание прогресса

Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим полезный совет по загрузке файлов из Firebase Storage и отслеживанию прогресса загрузки. 📈

Код для скачивания файла:


Stream<TaskSnapshot> downloadFile(String path) async* {
if (await Permission.storage.request().isDenied) {
throw "Вы должны принять разрешение на запись";
}
var fileRef = storage.ref().child(path);
var fileName = fileRef.name;
Directory directory;
if (Platform.isAndroid) {
directory = Directory("/storage/emulated/0/Download");
} else {
directory = (await getExternalStorageDirectory())!;
}
final File destinationFile = File('${directory.path}/$fileName');
if (destinationFile.existsSync()) {
destinationFile.deleteSync();
}
destinationFile.createSync();
var task = fileRef.writeToFile(destinationFile);
yield* task.asStream();
}



Ключевые моменты:
- Проверка разрешений: Используем permission_handler для проверки разрешения на доступ к хранилищу.
- Сохранение в папку загрузок: Файл сохраняется в папку "Download" на Android.
- Замена существующего файла: Если файл уже существует, он будет удален и заменен новым.
- Отслеживание прогресса: Используем yield* для передачи событий из задачи в наш поток, что позволяет отображать прогресс загрузки в приложении.

Чтобы получить текущий прогресс, можно использовать:


var progress = task.bytesTransferred / task.totalBytes * 100;



Оцените нашу новую рубрику советов по Flutter! 👍 Ваши отзывы помогут нам сделать ее еще лучше. 💬

Все подобные советы вы можете найти по хэштегу #FlutterPulseTips.

#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #MobileDevelopment #FlutterTips #AppDevelopment #CodingTips
👍1
Firestore: конфигурация из нативных приложений

Вы, возможно, пропустили это... Плагин Firebase может использовать конфигурацию напрямую на стороне Dart!

Шаги по настройке:

1. Создайте несколько окружений Firebase для разработки/стадии/продакшена, используя только Dart.
Создайте 3 файла в папке runners. Один для каждой среды.

2. Создайте несколько файлов конфигурации Flavors.
Также сгенерируйте все файлы FirebaseOptions, используя flutterFire cli.

3. Удалите запуск из вашего main.dart и добавьте это:


Future<void> runWrapperApp(FlavorConfig config) async {
// Инициализируйте конфигурацию приложения здесь
// Например, установите уровень журнала на основе среды
final firebaseApp = await Firebase.initializeApp(
options: config.firebaseConfig,
);
runApp(MyApp());
}



4. Запустите приложение:


flutter run -t lib/runners/main_dev.dart



Важно:
- FlutterFire cli добавляет нативную зависимость на iOS/Android.
- Удалите конфигурацию Firebase из папок android и iOS.
- На Android удалите службы Google из build.gradle.

Оцените новую рубрику! 👍 Оставляйте ваши отзывы в комментариях! 💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #Firestore #Firebase #FlutterTips #MobileDevelopment #AppDevelopment
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

screen_brightness 2.1.7 - Плагин для Flutter, который позволяет контролировать яркость экрана в приложении.
В обновлении: обновлены версии Android SDK, Kotlin и Gradle.
👍 Лайки: 148, 📥 Скачиваний: 141К
https://pub.dev/packages/screen_brightness

Vania 1.0.2+2 - Мощный фреймворк для создания высокопроизводительных веб-приложений на Dart.
Теперь с исправлением проблемы с именами параметров в Postgres для QueryBuilder.
👍 Лайки: 161, 📥 Скачиваний: 338
https://pub.dev/packages/vania

firebase_cached_image 0.9.0 - Пакет для кэширования изображений и файлов из Firebase Cloud Storage в приложениях Flutter.
Теперь он поддерживает работу на веб-платформе (по умолчанию отключено).
👍 Лайки: 35, 📥 Скачиваний: 1.7К
https://pub.dev/packages/firebase_cached_image

appsflyer_sdk 6.17.3 - Пакет для интеграции сервиса AppsFlyer в мобильные приложения, позволяя отслеживать установки, события и покупки.
В новой версии обновлены SDK для Android и iOS, добавлен новый API для проверки покупок, улучшено обработка ошибок и унифицирована структура данных для покупок.
👍 Лайки: 158, 📥 Скачиваний: 681К
https://pub.dev/packages/appsflyer_sdk

screen_brightness_android 2.1.3 - Пакет для управления яркостью экрана в Android-приложениях.
Теперь с обновленными версиями Android SDK, Kotlin и Gradle.
👍 Лайки: 0, 📥 Скачиваний: 176К
https://pub.dev/packages/screen_brightness_android

bdd_widget_test 2.0.0 - Библиотека для тестирования виджетов в стиле BDD (Behavior-Driven Development) с использованием языка Gherkin.
Теперь доступна версия 2.0.0, в которой обновлены зависимости, удалены неиспользуемые зависимости, улучшена обработка исключений в хуках и больше не предоставляются предустановленные шаги.
👍 Лайки: 169, 📥 Скачиваний: 204К
https://pub.dev/packages/bdd_widget_test

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #screen_brightness #Vania #firebase_cached_image #appsflyer_sdk #screen_brightness_android #bdd_widget_test
Новые пакеты за неделю

flutter_logs_yoer
Пакет для логирования в Flutter, который позволяет создавать файлы логов с возможностью фильтрации, сортировки и экспорта в формате zip.
👍 Лайки: 1, 📥 Скачиваний: 307
https://pub.dev/packages/flutter_logs_yoer

video_view
Пакет для легкого воспроизведения видео в приложениях Flutter, поддерживающий субтитры и переключение аудиодорожек.
👍 Лайки: 3, 📥 Скачиваний: 658
https://pub.dev/packages/video_view

komodo_defi_sdk
Пакет для создания кроссплатформенных кошельков и приложений DeFi на основе Komodo, включающий функции аутентификации, активации активов и вывода средств.
👍 Лайки: 8, 📥 Скачиваний: 4
https://pub.dev/packages/komodo_defi_sdk

anti_intip_variabel
Пакет для защиты секретов в приложениях Flutter/Dart, использующий технику XOR-обфускации для защиты API-ключей и токенов.
👍 Лайки: 1, 📥 Скачиваний: 327
https://pub.dev/packages/anti_intip_variabel

json_factory_generator
Пакет-генератор кода для Dart, создающий централизованные, типобезопасные фабрики JSON для моделей.
👍 Лайки: 7, 📥 Скачиваний: 153
https://pub.dev/packages/json_factory_generator

flame_3d
Экспериментальная реализация 3D поддержки для Flame, с фокусом на исследовании потенциальных возможностей 3D.
👍 Лайки: 32, 📥 Скачиваний: 160
https://pub.dev/packages/flame_3d

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #firebase_messaging #flutter_logs_yoer #video_view #komodo_defi_sdk #anti_intip_variabel #json_factory_generator #flame_3d