Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.8.4

al_downloader

Um downloader do Flutter baseado em URL que suporta o download de qualquer tipo de arquivo e gerencia automaticamente muitas coisas.

AndroidiOS
Downloads em 30 dias
333
Curtidas
104
Pontos Pub
120

Instalar pacote

flutter pub add al_downloader

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

al_downloader é um pacote Flutter que permite o download de arquivos baseado em URL em plataformas Android e iOS. Ele suporta o download de qualquer tipo de arquivo e gerencia automaticamente tarefas comuns, como gerenciar filas de download, rastrear o progresso e gerenciar permissões de armazenamento. O pacote simplifica a implementação de funcionalidades robustas de download em aplicativos Flutter, tornando-o ideal para aplicações que exigem downloads confiáveis em segundo plano. Com uma configuração mínima via pub add, os desenvolvedores podem integrar facilmente capacidades poderosas de download.

Casos de uso

  • Baixando arquivos de URLs
  • Downloads de arquivos em segundo plano
  • Gerenciamento de transferências de arquivos grandes
  • Gerenciando o progresso do download
  • Gerenciamento de fila de download automático

Principais recursos

  • Suporta todos os tipos de arquivo
  • Gerenciamento automático de downloads
  • Multiplataforma (Android e iOS)
  • Rastreamento de progresso
  • Suporte de download em segundo plano

Indicado para

  • Aplicativos que precisam de downloads de arquivos
  • Entrega de conteúdo multimídia
  • Armazenamento em cache de dados offline
  • Aplicativos educacionais ou produtividade
  • Aplicações com grandes bibliotecas de ativos

Considerações

  • Requer permissão de internet no Android
  • Pode ser necessário permitir execução em segundo plano no iOS
  • Arquivos grandes exigem gerenciamento cuidadoso da memória
  • O tratamento de caminho de arquivo pode variar conforme a plataforma
  • Nenhuma capacidade de recuperação embutida mencionada

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

al_downloader

pub package

A URL-based flutter downloader that supports to download any type of file and automatically manages a lot of things.

If you need Chinese Document, click here.

Features

  • manage download tasks by url
  • simple download status
  • I/O infrequently
  • provide convenient download handle
  • support batch download
  • manage automatically files without requiring to be specified a download path
  • based on flutter_downloader

Integration

Native Config: same as flutter_downloader native config

add the following line to your pubspec.yaml

dependencies:
  al_downloader: ^1.8.4

run the following line with your command line

flutter packages get

import the following line, then you can use al_downloader

import 'package:al_downloader/al_downloader.dart';

Usage

ALDownloader
Initialize
ALDownloader.initialize();
Configure print
ALDownloader.configurePrint(true, frequentEnabled: false);
Download
ALDownloader.download(url,
    directoryPath: directoryPath,
    fileName: fileName,
    handlerInterface:
        ALDownloaderHandlerInterface(progressHandler: (progress) {
      debugPrint(
          'ALDownloader | download progress = $progress, url = $url\n');
    }, succeededHandler: () {
      debugPrint('ALDownloader | download succeeded, url = $url\n');
    }, failedHandler: () {
      debugPrint('ALDownloader | download failed, url = $url\n');
    }, pausedHandler: () {
      debugPrint('ALDownloader | download paused, url = $url\n');
    }));
Add a handler interface
ALDownloader.addHandlerInterface(
    ALDownloaderHandlerInterface(progressHandler: (progress) {
      debugPrint(
          'ALDownloader | download progress = $progress, url = $url\n');
    }, succeededHandler: () {
      debugPrint('ALDownloader | download succeeded, url = $url\n');
    }, failedHandler: () {
      debugPrint('ALDownloader | download failed, url = $url\n');
    }, pausedHandler: () {
      debugPrint('ALDownloader | download paused, url = $url\n');
    }),
    url);
Add a forever handler interface
ALDownloader.addForeverHandlerInterface(
    ALDownloaderHandlerInterface(progressHandler: (progress) {
      debugPrint(
          'ALDownloader | download progress = $progress, url = $url\n');
    }, succeededHandler: () {
      debugPrint('ALDownloader | download succeeded, url = $url\n');
    }, failedHandler: () {
      debugPrint('ALDownloader | download failed, url = $url\n');
    }, pausedHandler: () {
      debugPrint('ALDownloader | download paused, url = $url\n');
    }),
    url);
Remove handler interface
ALDownloader.removeHandlerInterfaceForUrl(url);
Pause download
/// Stop download, but the incomplete data will not be deleted.
ALDownloader.pause(url);
Cancel download
/// Stop download, and the incomplete data will be deleted.
ALDownloader.cancel(url);
Remove download
/// Remove download, and all the data will be deleted.
ALDownloader.remove(url);
Get download status
final status = await ALDownloader.getStatusForUrl(url);
Get download progress
final progress = await ALDownloader.getProgressForUrl(url);
Get task
final task = await ALDownloader.getTaskForUrl(url);
Get all tasks
final tasks = await ALDownloader.tasks;
ALDownloaderBatcher
Batch download
ALDownloaderBatcher.download(urls,
    handlerInterface:
        ALDownloaderHandlerInterface(progressHandler: (progress) {
      debugPrint('ALDownloader | batch | download progress = $progress\n');
    }, succeededHandler: () {
      debugPrint('ALDownloader | batch | download succeeded\n');
    }, failedHandler: () {
      debugPrint('ALDownloader | batch | download failed\n');
    }, pausedHandler: () {
      debugPrint('ALDownloader | batch | download paused\n');
    }));
Add a handler interface for batch
ALDownloaderBatcher.addHandlerInterface(
    ALDownloaderHandlerInterface(progressHandler: (progress) {
      debugPrint('ALDownloader | batch | download progress = $progress\n');
    }, succeededHandler: () {
      debugPrint('ALDownloader | batch | download succeeded\n');
    }, failedHandler: () {
      debugPrint('ALDownloader | batch | download failed\n');
    }, pausedHandler: () {
      debugPrint('ALDownloader | batch | download paused\n');
    }),
    urls);
Get download status for a set of urls
final status = await ALDownloaderBatcher.getStatusForUrls(urls);
Get tasks
final tasks = await ALDownloaderBatcher.getTasksForUrls(urls);
ALDownloaderFileManager - A manager that manages file by url
final physicalFilePath =
    await ALDownloaderFileManager.getPhysicalFilePathForUrl(url);
debugPrint(
    'ALDownloader | get physical file path for [url], url = $url, path = $physicalFilePath\n');

Note:

1. If the persistent file was removed by exceptional means, such as the cache folder being deleted by some business code, call [remove] and then call [download] to re-download for fixing the problem.

Key File Of Example

iOS
Android

Contributing

Welcome contribution!

Welcome to open issue or PR for any problem, suggestion and idea!

Maintainer: jackleemeta (jackleemeta@outlook.com)

Categorias

Dependências

Lista de dependências 7 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.