1

现在我正在开发一个Android应用程序,我想使用WebService从Web服务器异步下载数据,我该如何解决?

4

2 回答 2

4

使用AsyncTask

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");
 }

}

于 2012-10-11T08:48:39.310 回答
1

有几种方法可以做到这一点。最流行的方法之一是使用AsyncTaskAndroid API 提供的类。

你可以阅读更多关于AsyncTask 这里

官方开发者指南中还有一整页专门介绍线程和进程,可在此处获得。

于 2012-10-11T08:49:56.877 回答