AsyncTask异步任务怎么写
写一个类继承AsyncTask,重写方法doInBackgroud
再new这个类,执行对象.execute()
在UI线程里面写这个类的实现方法
doInBackground有可能是新开的线程,有可能是线程池里面的线程
执行顺序:onPreExecute之后执行doInBackground之后onPostExecute
onPreExecute和onPostExecute在主线程里面doInBackground在子线程里面
继承的AsyncTask<Integer,Integer,String>后面的3个参数,
第一个是doInBackground(Integer... param)的参数类型
第二个是onProgressUpdate(Integer... param)的参数类型,也是execute后面的参数类型
第三个是doInBackground的返回值类型和onPostExecute(String result)的参数的类型
方法介绍
onPreExecute,运行在UI主线程当中,主要用于异步之前的UI准备工作
在doInBackground方法当中,每次调用publishProgress(values)方法之后,都会触发onProgressUpdate(Integer... param)方法,
只要用于修改控制条,修改文字什么的
onPostExecute在doInbackground方法执行结束之后再运行,并且运行在UI线程当中。只要用于将异步结果展示给客户
doInBackground方法并不运行在UI线程当中,所以在该方法当中,不能对UI当中的控件进行设置和修改,
如果想操作调用publishProgress方法