使用AsyncTask步骤
1.创建一个类,extents AsyncTask,并且实现其中的抽象方法
public class DownloadTast extends AsyncTask<String,Integer,Integer>{ @Override protected Integer doInBackground(String... params) { Log.w("test","doInBackground"); return null; } }
2.在主线程中创建异步任务对象,并开始执行任务
new DownloadTast().execute();
AsyncTask的说明
1、onPreExecute():这个方法是在任务开始前进行的,
它由UI线程(主线程)调用,
即可以进行UI操作。在最后,我会给出Log的打印信息。
2、doInBackground(Params...):这个方法是
onPreExecute()完成后,
立即在后台进行的,用以执行任务,并将
Result
传给onPostExecute(Result)
。
另外,在此期间,可以调用
publishProgress(Progress...)
,
这个方法能够传递一些数据给
onProgressUpdate(Progress...)
。
3、onProgressUpdate(Progress...):在
publishProgress(Progress...)
被调用之后,此方法会由UI线程调用。所以利用
publishProgress(Progress...)
和
onProgressUpdate(Progress...)就能够做出在加载或读取网络数据时的等待
或缓冲的UI效果。我在最后给出的效果图有类似的功能。
4、onPostExecute(Result):在
doInBackground(Params...)
完成后,
由UI线程调用,在这里处理
Result
。
5. 第一个参数:传入doInBackground()方法的参数类型
第二个参数:传入onProgressUpdate()方法的参数类型
第三个参数:传入onPostExecute()方法的参数类型,
也是doInBackground()方法返回的类型
使用AsyncTask步骤 1.创建一个类,extents AsyncTask,并且实现其中的抽象方法
public class DownloadTast extends AsyncTask<String,Integer,Integer>{ @Override protected Integer doInBackground(String... params) { Log.w("test","doInBackground"); return null; } }2.在主线程中创建异步任务对象,并开始执行任务
new DownloadTast().execute();
AsyncTask的说明
1、onPreExecute():这个方法是在任务开始前进行的,它由UI线程(主线程)调用,
即可以进行UI操作。在最后,我会给出Log的打印信息。
2、doInBackground(Params...):这个方法是onPreExecute()完成后,
立即在后台进行的,用以执行任务,并将Result
传给onPostExecute(Result)
。
另外,在此期间,可以调用publishProgress(Progress...)
,
这个方法能够传递一些数据给onProgressUpdate(Progress...)
。
3、onProgressUpdate(Progress...):在publishProgress(Progress...)
被调用之后,此方法会由UI线程调用。所以利用publishProgress(Progress...)