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 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
京ICP备17066706号-1
0
希望看到您的想法,请您发表评论x