AsyncTask定义的三种泛型
- params: 启动任务执行的输入参数,如:http请求的URL
- progress:后台任务执行的百分比
-
result:返回结果,如:String、list集合等
private class MyTask extends AsyncTask<params, progress, result> { ... }示例代码:
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"); } }










