1
如何處理對象和線程在Android? 我想看看是否有方法使用AsyncTask類(doInBackground()
和onPostExecute()
方法)與對象而不是字符串。 我也想與UI交互。用對象而不是字符串處理AsyncTask
有沒有一個很好的教程,或從任何提示?
謝謝
如何處理對象和線程在Android? 我想看看是否有方法使用AsyncTask類(doInBackground()
和onPostExecute()
方法)與對象而不是字符串。 我也想與UI交互。用對象而不是字符串處理AsyncTask
有沒有一個很好的教程,或從任何提示?
謝謝
您可以繼承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發生()。