Я пытаюсь понять пример кода Googles для класса AsynckTask. В строке private class DownloadFilesTask extends AsyncTask Я предполагаю, что Params - это URL-адрес типа, Progress is type integer и Result - тип long.Попытка понять Androids Класс AsynckTask
Я не понимаю следующую строку защищенной Long doInBackground (URL ... URLs)
Google, пример код:
private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i/(float) count) * 100));
// Escape early if cancel() is called
if (isCancelled()) break;
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}
«Я не понимаю, следующую строку защищенному Long doInBackground (URL ... URLs)» - пожалуйста, объясните более подробно, что вы не понимаете. Это объявление метода в классе Java, которое использует [параметр varargs] (http://java-demos.blogspot.in/2012/12/java-varargs-tutorial.html). – CommonsWare
Вы имеете в виду тот факт, что URL-адрес является списком аргументов? http://www.deitel.com/articles/java_tutorials/20060106/VariableLengthArgumentLists.html – roostertech