handler发送message实现线程间的通信固然很好,但是代码写起来太麻烦了,因为子线程不能改变UI,需要handler和runnable两个内部类,发来发去的太麻烦,而异步任务就不用管这些,它只有doInBackground是在子线程中的,其他方法全在主线程执行,所以代码写起来要清爽一点

import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//第一个参数是传入的参数,execute(params)是个数组,可以传网址什么的,//中间的参数是onProgressUpdate的类型,相当于表示进度的参数,一般是整数//最后一个参数是返回值类型 class Task extends AsyncTask<String, Integer, String>{@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();System.out.println("正在准备执行");}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result);System.out.println("result是"+result);System.out.println("执行完毕");}@Overrideprotected String doInBackground(String... params) {// TODO Auto-generated method stubSystem.out.println("params是"+params[0]+params[1]);int i=0;while(true){i++;try {Thread.sleep(500);//模仿网络加载} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}publishProgress(i);//将进度传出,调用onProgressUpdate方法,传的是个数组if(i>100){onPostExecute("ok了");break;//必须手动停止}}return "线程停止";}@Overrideprotected void onProgressUpdate(Integer... values) {// TODO Auto-generated method stubSystem.out.println("当前进度是"+values[0]);super.onProgressUpdate(values);}@Overrideprotected void onCancelled(String result) {// TODO Auto-generated method stubsuper.onCancelled(result);}@Overrideprotected void onCancelled() {// TODO Auto-generated method stubsuper.onCancelled();}  }  Task task = new Task(); task.execute("第一个","第二个");//执行异步任务}


更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android和H5交互
  3. android onCreate(Bundle savedInstanceState)
  4. Tablayout+Viewpager+Fragment组合使用以及懒加载机制
  5. Android(安卓)Main thread
  6. Android---线程间通讯
  7. Android打电话过程
  8. Android中OkHttp的使用(详解)
  9. Memory & Threading. (Android(安卓)Performance Patterns Seaso

随机推荐

  1. Android项目结构和HelloWorld
  2. Android——自定义View(学习Android开发
  3. 利用AccessibilityService实现“微信红包
  4. Android关机和重启的调用代码
  5. android native crash日志解析
  6. Android(安卓)-- ListView与Adapter
  7. Android(安卓)Studio 在调试模式下查看不
  8. 最新历史版本 :Android(安卓)Bluetooth
  9. Android(安卓)中不同的系统版本隐藏和显
  10. 在Android(安卓)Studio中进行单元测试和U