//异步任务
AsyncTask<String, Integer, String> task=new AsyncTask<String, Integer, String>() {
@Override
protected String doInBackground(String... arg0) {//异步子线程执行的方法
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
publishProgress(23);
return "你妹的";
}
@Override
protected void onProgressUpdate(Integer... values) {//异步子线程方法中调用publishProgress就会调用的方法
int progress=values[0];//values[0]等价于23
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {//doInBackground子线程执行完之后执行的主线程方法
// result等价于doInBackground方法的返回值
Toast.makeText(MainActivity.this, result, 3000).show();
super.onPostExecute(result);
}
};
task.execute("a","b","c");
本文详细介绍了如何使用Android中的AsyncTask来执行异步任务。通过一个具体的例子,展示了如何定义AsyncTask,包括doInBackground方法用于执行后台操作,onProgressUpdate方法用于更新进度,以及onPostExecute方法用于处理后台操作的结果。
1004

被折叠的 条评论
为什么被折叠?



