如何处理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() 中。