Menu fechado

Arquitetos de Sistemas

como armazenar a imagem baixada no armazenamento interno usando o Download Manager no android ,android [RESOLVIDO]

Visualizando 0 resposta da discussão
  • Autor
    Posts
    • #82663 Responder
      Anderson Paraibano
      Participante

      Resolvido: Como armazenar uma imagem baixada no armazenamento interno usando o Download Manager no Android

      Introdução
      O Android fornece várias ferramentas e recursos para o desenvolvimento de aplicativos, incluindo a capacidade de baixar arquivos usando o Download Manager e armazená-los no armazenamento interno do dispositivo. Neste artigo, vamos explorar como utilizar o Download Manager para baixar uma imagem e salvá-la no armazenamento interno do Android.

      Passo 1: Configurando as permissões necessárias
      Antes de começarmos a usar o Download Manager, precisamos garantir que as permissões adequadas estejam configuradas no arquivo AndroidManifest.xml do nosso projeto. Adicione as seguintes permissões:

      xml
      Copy code
      <uses-permission android:name=”android.permission.INTERNET” />
      <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
      A permissão INTERNET permite que o aplicativo acesse a internet para baixar o arquivo, enquanto a permissão WRITE_EXTERNAL_STORAGE é necessária para salvar a imagem no armazenamento interno.

      Passo 2: Implementando o Download Manager
      Em seguida, precisamos implementar a lógica para baixar a imagem usando o Download Manager. Primeiro, vamos criar uma instância do Download Manager e configurar a solicitação de download:

      java
      Copy code
      DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
      Uri uri = Uri.parse(“URL_DA_IMAGEM_AQUI”);

      DownloadManager.Request request = new DownloadManager.Request(uri);
      request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_PICTURES, “imagem.jpg”);
      request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

      long downloadId = downloadManager.enqueue(request);
      No código acima, estamos criando uma solicitação de download utilizando a URL da imagem desejada. Em seguida, definimos o diretório de destino usando setDestinationInExternalFilesDir(). Estamos usando Environment.DIRECTORY_PICTURES para salvar a imagem na pasta “Pictures” do armazenamento interno. Você pode alterar o diretório de destino conforme necessário.

      Também configuramos a visibilidade da notificação do download como VISIBILITY_VISIBLE_NOTIFY_COMPLETED, para que o usuário seja notificado quando o download for concluído.

      Por fim, chamamos enqueue() no Download Manager para iniciar o download e obtemos o ID do download retornado para referência futura.

      Passo 3: Tratando a conclusão do download
      Agora, precisamos lidar com a conclusão do download e salvar a imagem no armazenamento interno. Podemos fazer isso implementando um BroadcastReceiver:

      java
      Copy code
      BroadcastReceiver receiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
      long receivedDownloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
      if (downloadId == receivedDownloadId) {
      DownloadManager.Query query = new DownloadManager.Query();
      query.setFilterById(downloadId);
      Cursor cursor = downloadManager.query(query);
      if (cursor.moveToFirst()) {
      int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
      if (status == DownloadManager.STATUS_SUCCESSFUL) {
      String fileUri = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
      // Aqui você pode manipular o arquivo baixado, como copiá-lo para outra pasta ou exibir no aplicativo.
      // Lembre-se de lidar com as permissões de armazenamento conforme necessário.
      }
      }
      cursor.close();
      }
      }
      };

      registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
      No código acima, estamos registrando um BroadcastReceiver para receber a ação ACTION_DOWNLOAD_COMPLETE, que é enviada quando o download é concluído. No método onReceive(), verificamos se o ID do download recebido corresponde ao ID do nosso download anteriormente iniciado.

      Em seguida, consultamos o Download Manager usando um Query para obter informações sobre o download concluído. Se o status do download for STATUS_SUCCESSFUL, podemos obter a URI do arquivo usando COLUMN_LOCAL_URI. A partir desse ponto, você pode realizar operações adicionais com o arquivo baixado, como copiá-lo para outra pasta ou exibi-lo no aplicativo.

      Conclusão
      Neste artigo, exploramos como utilizar o Download Manager do Android para baixar uma imagem e salvá-la no armazenamento interno do dispositivo. Através da configuração adequada das permissões, criação da solicitação de download e tratamento da conclusão do download, podemos realizar essa tarefa com facilidade. Lembre-se de lidar corretamente com as permissões de armazenamento e outras operações relacionadas ao arquivo, garantindo uma experiência segura e eficiente para os usuários do seu aplicativo Android.

Visualizando 0 resposta da discussão
Responder a: como armazenar a imagem baixada no armazenamento interno usando o Download Manager no android ,android [RESOLVIDO]
Sua informação:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">

Nova denúncia

Fechar