Как загрузить файл с URL-адреса в Android программно с помощью диспетчера загрузок?
В этой статье мы узнаем, как загружать файлы с URL-адреса с помощью Download Manager . Здесь мы просто добавим ссылку на файл, доступный онлайн. Когда мы нажимаем на кнопку, она автоматически загружается в память нашего телефона. Это очень часто используемая функция, поскольку мы можем использовать эту функцию для автоматической загрузки раздела часто задаваемых вопросов приложения.
Пошаговая реализация
Шаг 1: Создайте новый проект
Чтобы создать новый проект в Android Studio, обратитесь к разделу «Как создать/запустить новый проект в Android Studio». Обратите внимание, что в качестве языка программирования выберите Java .
Шаг 2. Предоставьте доступ к Интернету в файле AndroidManifest.xml.
<uses-permission android:name=”android.permission.INTERNET”/>
Шаг 3: Работа с файлом activity_main.xml
Перейдите к app > res > layout > activity_main.xml и добавьте приведенный ниже код в этот файл. Ниже приведен код файла activity_main.xml .
XML
<? xml version = "1.0" encoding = "utf-8" ?> < LinearLayout android:layout_width = "match_parent" android:layout_height = "match_parent" android:layout_gravity = "center" android:gravity = "center" android:orientation = "vertical" tools:context = ".MainActivity" > < Button android:id = "@+id/download" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:text = "Download Content" /> </ LinearLayout > |
Шаг 4: Работа с файлом MainActivity.java
Перейдите к файлу MainActivity.java и обратитесь к следующему коду. Ниже приведен код файла MainActivity.java .
Java
import android.app.DownloadManager; import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { Button button; DownloadManager manager; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(R.id.download); button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Request request = new DownloadManager.Request(uri); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE); long reference = manager.enqueue(request); } }); } } |
Выход: