码迷,mamicode.com
首页 > 移动开发 > 详细

android AsyncTask 的基本使用

时间:2016-07-11 21:15:03      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

1.首先写一个类继承AsyncTask   如:class DownloadTask extends AsyncTask<Parms, Process, Result>,

  parms是执行asynctask传入的参数,如:task.execute("First parameter", "Second parameter", "Etc.")如:

AsyncTask<String,Void,Void> task = new AsyncTask<String,Void,Void>
public Void doInBackground(String... params) {
  for (String parameter : params) {
    Log.i(TAG, "Received parameter: " + parameter);
  }
  return null;
  }
};

 

  process是 显示当前进度,如

public void onProgressUpdate(Integer... params) {
  int progress = params[0];
  gestationProgressBar.setProgress(progress);
}

   Result是 当任务执行完毕后,对结果进行返回.如:

private class FetchItemsTask extends AsyncTask<Void,Void,List<GalleryItem>>{

        @Override
        protected List<GalleryItem> doInBackground(Void... params) {
            return new FlickrFetchr().fetchItems();
        }
}

 

2.根据需要复写其中的方法,方法有以下几个:

  onPreExecute() 这个方法会在后台任务开始执行之前调用,用于进行一些界面上的初始化操作,比如显示一个进度条对话框等。

  doInBackground(Params...)这个方法中的所有代码都会在子线程中运行,我们应该在这里去处理所有的耗时任务。如果需要更新 UI 元素,可以调用 publishProgress(Progress...)方法来完成。

  onProgressUpdate(Progress...)当在后台任务中调用了 publishProgress(Progress...)方法后,这个方法就会很快被调用,方法中携带的参数就是在后台任务中传递过来的。

  onPostExecute(Result)当后台任务执行完毕并通过 return 语句进行返回时,这个方法就很快会被调用。返回的数据会作为参数传递到此方法中,可以利用返回的数据来进行一些 UI 操作.

3.如果想要启动这个任务,只需编写以下代码即可:new DownloadTask().execute();

android AsyncTask 的基本使用

标签:

原文地址:http://www.cnblogs.com/IT-lss/p/5661393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!