Я новичок в разработке для Android и пытаюсь понять, как загрузить несколько файлов.Я прошел краткое руководство по YouTube, которое загружает один файл PDF, но делает это в основном потоке.Есть некоторые проблемы с этим кодом, которые я тоже хочу решить, но сейчас я хотел бы знать, как включить AsyncTask
в мой код для загрузки файла PDF в фоновом режиме.
Этомой код:
public class MainActivity extends AppCompatActivity {
Button btn;
DownloadManager downloadManager;
private String exampleURL = "https://doc.lagout.org/programmation/Actionscript%20-%20Flash%20-%20Flex%20-%20Air/Flash%20Development%20for%20Android%20Cookbook%20-%20Labrecque%20-%20Packt%20%282011%29/Flash%20Development%20for%20Android%20Cookbook%20-%20Labrecque%20-%20Packt%20%282011%29.pdf";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.download_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse(exampleURL);
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
Long reference = downloadManager.enqueue(request);
}
});
}
}
Я знаю, что некоторые спросят, что там делает «Длинная ссылка», поскольку он никогда не использовался.Кроме того, он не объяснил и не использовал его нигде, но загрузка, кажется, не работает, когда я удаляю его из кода.
Другая проблема с этим кодом заключается в том, что в отличие от традиционной загрузки из приложений, таких как Chrome, вы не получите никакого сообщения о том, что ваша загрузка началась, и вам нужно перетащить виджет вниз, чтобы увидеть, идет ли загрузка.Другими словами, на экране внизу нет никаких признаков загрузки.