1

如何處理對象線程在Android? 我想看看是否有方法使用AsyncTask類(doInBackground()onPostExecute()方法)與對象而不是字符串。 我也想與UI交互。用對象而不是字符串處理AsyncTask

有沒有一個很好的教程,或從任何提示?

謝謝

回答

1

您可以繼承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)); 
    } 
    return totalSize; 
    } 

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

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

在這個例子中「URL」是參數類型,龍是結果類型(傳遞給onPostExecute())和整數是一個可選的進度指示器。參數類型,進度類型和結果類型如果未使用,則可以是「Void」類型。

你可以找到這個例子,更詳細的解釋here

與UI交互在onPostExecute發生()。

相關問題