Android-AsyncTask

1.为什么要使用AsyncTask?
     在使用android程序的过程中,经常会有一些耗时的操作,如果我们在UI线程中进行耗时操作 这是不允许的。因 此需要另外启动一个线程来进行操作。

2.实现方式
  我们只要继承AsyncTask类,并且实现它的四个方法即可。另外我们需要给它指定泛型。
  class MyAsyncTask extends AsyncTask<Params,Progress,Result>
     每个泛型参数的含义如下:
  Params:你要执行一个任务,你得给他一个参数比如URL,但可以为Void
  Progress:执行过程中用于进度的显示参数。
  Result:总得有个返回结果吧。
3.重要方法
   需要大家重写的几个方法,当然有的也可以不用重写。
   doInBackground(Params)我们所做的耗时操作就在这个方法里面,它
   接收的参数就是execute()中传递过来的。
   onPostExecute(Result) 当doInBackground(Params)执行完毕后会调用这个
   方法并且,参数是doInBackground(Params)的返回值。
   onPreExecute() 在doInBackground(Params)前执行,一般做一些初始化操作。
   例如进度条的显示。
   onProgressUpdate(Progress) 我们可以随时更新进度,利用在
   doInBackground(Params)方法中调用publishProgress(Progress)

4.注意事项:
   必须在UI线程中创建AsyncTask的实例。
   必须在UI线程中调用AsyncTask的execute方法
   重写的四个方法是系统调用的。
   每个 AsyncTask只能执行一次。

posted @ 2015-06-17 13:59  计划了好了再娶吧  阅读(146)  评论(0编辑  收藏  举报