android提供了一套专门用于异步处理的类。即:AynsTask类。使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回。

asysTask类主要用到的几个内部回调函数有:
doInBackGround()

onPreExecute()

onPostExecute()

onProgressUpdate()

执行顺序如下图:



public class AnsyTestActivity extends Activity {    /** Called when the activity is first created. */       TextView text =null;    Button button=null;    String str=null;    AnsyTry anys=null;    double result=0;       @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        text=(TextView) findViewById(R.id.text);        button=(Button) findViewById(R.id.button);        str="wei";        button.setOnClickListener(new OnClickListener() {                       @Override            public void onClick(View v) {                // TODO Auto-generated method stub                anys=new AnsyTry(text);                anys.execute(str);                           }        });    }          class AnsyTry extends AsyncTask<String, TextView, Double>{               TextView te=null;               public AnsyTry(TextView te) {            super();            this.te = te;        }        @Override        protected Double doInBackground(String... params) {            // TODO Auto-generated method stub            double dou=0;            if(params[0].equals("wei")){                System.out.println(Thread.currentThread().getName()+"  recive wei");                dou=100;            }            publishProgress(te);            return dou;        }        @Override        protected void onPostExecute(Double result) {            // TODO Auto-generated method stub            super.onPostExecute(result);            System.out.println("postExecute---double---"+result);        }        @Override        protected void onPreExecute() {            // TODO Auto-generated method stub\            System.out.println("pretExecute------");            super.onPreExecute();        }        @Override        protected void onProgressUpdate(TextView... values) {            // TODO Auto-generated method stub            values[0].setText(values[0].getText()+"1");            super.onProgressUpdate(values);        }           }}


更多相关文章

  1. Android(安卓)Service那些不得不说的事-之二(Bound Service的实现
  2. Binder 和 AIDL
  3. Android学习笔记:通过Android之Service实现文件断点续传下载
  4. Android(安卓)异步任务 设置 超时使用handler更新通知功能
  5. [Android]网络资源下载时断点续传的实现
  6. Android(安卓)ANR问题定位
  7. android 下载图片到本地 sdcard
  8. android之AIDL跨进程通信详解 (四)AIDL中RemoteCallbackList的使
  9. Android异步更新UI的方式之使用Handler消息传递机制

随机推荐

  1. android activity tabhost
  2. Android软件安装文件夹
  3. 申请Android(安卓)Map API Key
  4. Android安全问题
  5. android九宫格
  6. Android——从init进程启动流程
  7. Android(安卓)ListView控件基本用法
  8. Android(安卓)JNI简单实例
  9. Android图表控件MPAndroidChart——曲线
  10. android studio常用控件