Android异步处理之AsyncTask

public class DownloadTask extends AsyncTask<Void,Integer,Boolean> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //这里可以写执行任务前的代码,例如显示进度条
    }

    @Override
    protected void onPostExecute(Boolean aBoolean) {
        super.onPostExecute(aBoolean);
        //这里是任务执行完毕后调用,可以做UI操作
        //这里的aBoolean是执行任务后返回的结果可以根据这个值做相应操作
        //执行收尾操作
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
        //在这里更新进度
    }

    @Override
    protected void onCancelled(Boolean aBoolean) {
        super.onCancelled(aBoolean);
    }

    @Override
    protected void onCancelled() {
        super.onCancelled();
    }

    @Override
    protected Boolean doInBackground(Void... voids) {
        //这里执行耗时比较长的逻辑,比如下载大文件
        publishProgress(30); //调用这个会触发onProgressUpdate方法触发从而更新进度
        return null;
    }
}

0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x