Я новичок в разработке Android.Я пытаюсь научиться многопоточности и работать с Интернетом, поэтому я делаю это, загружая файл PDF по ссылке через фоновый поток, используя AsyncTask
.У меня путаница из-за того, что лучше всего сделать.
Должен ли я создать URI
и другие необходимые объекты подключения в onCreate
или в методе doInBackground
класса AsyncTask
?
Чтобы загрузить только один файл PDF, какие объекты мне нужно вызывать?
Я проверил документацию, но не смог ее понять.Я был бы признателен за разъяснения непрофессионала и, возможно, псевдокод.
Вот код, который у меня есть:
public class MainActivity extends AppCompatActivity {
Button downloadPDF;
DownloadingClass downPDF;
private static final String TAG = "omar.asynctaskdemo;";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String urlExample = "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");
downloadPDF = findViewById(R.id.download_pdf);
downPDF = new DownloadingClass();
downloadPDF.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
downPDF.execute();
}
});
}
private class DownloadingClass extends AsyncTask<String, Integer, Void>{
@Override
protected Void doInBackground(String... strings) {
return null;
}
}
}