Androidでオブジェクトとスレッドを処理するにはどうすればよいですか? Strings ではなく Objects でAsyncTask Class (doInBackground()
およびonPostExecute()
メソッド)を使用する方法があるかどうかを確認しようとしています。また、UI とやり取りしたいと思います。
開始するのに適したチュートリアルやヒントはありますか?
ありがとう
Androidでオブジェクトとスレッドを処理するにはどうすればよいですか? Strings ではなく Objects でAsyncTask Class (doInBackground()
およびonPostExecute()
メソッド)を使用する方法があるかどうかを確認しようとしています。また、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 はオプションの進行状況インジケーターです。パラメータ タイプ、進行タイプ、および結果タイプは、未使用の場合は「Void」タイプにすることができます。
この例と詳しい説明はこちら
UI とのやり取りは onPostExecute() で行う必要があります。