Android 异步任务
来源:互联网 发布:6120ci软件 编辑:程序博客网 时间:2024/04/27 17:49
Android 异步任务,避免重复的工作,同时代码逻辑比较清晰,下面是一个例子。
//一个按钮的点击事件
public void asynctask(View view){
new AsyncTask() {ProgressDialog pb;
@Override
public void onProgressUpdate(int i) {
pb.setProgress(i);
}
@Override
public void onPreExecute() {
pb = new ProgressDialog(MainActivity.this);
pb.setMessage("正在加载...");
pb.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pb.show();
}
@Override
public void onPostExecute() {
pb.cancel();
}
@Override
public void doInBackground() {
pb.setMax(200);
for(int i= 0;i<100;i++){
publishProgress(i);
System.out.println("iiiiiiii:" +i);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.execute();
}
public abstract class AsyncTask {
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 0:
onPostExecute();
break;
case 1:
onProgressUpdate((Integer)msg.obj);
break;
default:
break;
}
};
};
public abstract void onPreExecute();
public abstract void onPostExecute();
public abstract void doInBackground();
public abstract void onProgressUpdate(int i);
public void publishProgress(int i){
Message msg = Message.obtain();
msg.obj = i;
msg.what = 1;
handler.sendMessage(msg);
}
public void execute(){
onPreExecute();
new Thread(){
@Override
public void run() {
super.run();
doInBackground();
Message msg = Message.obtain();
msg.what = 0;
handler.sendMessage(msg);
}
}.start();
}
}
- Android异步任务AsyncTask
- android异步任务 AsynTask
- Android--AsyncTask异步任务
- 【Android】Async异步任务
- Android AsyncTask异步任务
- Android 异步任务
- Android异步任务
- Android 异步任务 AsyncTask
- android 异步任务 AsyncTask
- android 异步任务
- Android AsyncTask 异步任务
- android异步任务
- Android AsyncTask异步任务
- android异步任务1
- 【Android】异步任务AsyncTask
- Android AsyncTask异步任务
- android AsyncTask异步任务
- Android:异步任务基础
- 链接分析算法之:主题敏感PageRank
- Unique Paths - LeetCode
- opencv 霍夫变换检测圆cvHoughCircles
- 我的第一个有颜色的控制台C程序
- OC中字典NSDictionary和可变字典NSMutableDictionary<代码演示>
- Android 异步任务
- hdu4126(MST + 树形dp
- DOS的历史
- CSS中的float
- MVC使用HandleErrorAttribute处理异常
- 学习opencv ,图像分割中分水岭算法的感性认识及cvWatershed例子
- 第二学期第二周项目四--玩日期
- Centos 6.4 配置网页服务器
- ubuntu13.04环境下,无法运行JSP的解决方案