寻找在android中使用带有AsyncTask的get()的好例子

Jim*_*nic 12 android android-asynctask

我对get(long, java.util.concurrent.TimeUnit)AsyncTask中的函数感到好奇,但是我很难找到它的用法示例.

get(long,java.util.concurrent.TimeUnit)

任何人都可以提供它的使用示例吗?

cit*_*onn 15

它似乎AsyncTask.get()阻止了调用者线程,而AsyncTask.execute()不是.

您可能希望AsyncTask.get()用于要测试特定Web Service调用的测试用例,但不需要它是异步的,并且您希望控制完成所需的时间.或者,您希望在测试套件中测试您的Web服务.

语法与execute相同:

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));
     }
     return totalSize;
 }

 protected void onProgressUpdate(Integer... progress) {
     setProgressPercent(progress[0]);
 }

 protected void onPostExecute(Long result) {
     showDialog("Downloaded " + result + " bytes");
 }
}

new DownloadFilesTask().get(5000, TimeUnit.MILLISECONDS);
Run Code Online (Sandbox Code Playgroud)