如何处理Android 中的对象和线程?我想看看是否有办法将AsyncTask类(doInBackground()
和onPostExecute()
方法)与 Objects 而不是 Strings 一起使用。我还想与 UI 交互。
是否有一个好的教程可以开始或任何提示?
谢谢
如何处理Android 中的对象和线程?我想看看是否有办法将AsyncTask类(doInBackground()
和onPostExecute()
方法)与 Objects 而不是 Strings 一起使用。我还想与 UI 交互。
是否有一个好的教程可以开始或任何提示?
谢谢
您可以像下面的示例中那样子类化 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”是参数类型,Long 是结果类型(传递给 onPostExecute()),Integer 是可选的进度指示器。参数类型、进度类型和结果类型如果未使用,则可以是“无效”类型。
您可以在此处找到此示例和更长的说明
与 ui 的交互必须发生在 onPostExecute() 中。