博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android AsyncTask异步任务
阅读量:6694 次
发布时间:2019-06-25

本文共 1086 字,大约阅读时间需要 3 分钟。

  hot3.png

AsyncTask< 地址类型Params, 进度值类型Progress, 结果类型Result> {    //String、URL, Integer, Bitmap、void

        onPreExecute(){    //运行在主线程MainThread,准备工作 }

                totalLen = connection.getContentLength();

        protect Result doInBackground(Params... params) {        //运行在子线程WorkThread,耗时操作        return result;}

                int progress = (int) (curLen*100/(double)totalLen);

                publishProgress(progress);

        onPostExcute(Result result) {        //在主线程中调用,处理结果  }

                BitmapFactory.decodeByteArray(bytes, 0, bytes.length);        把一个字节数组变成Bitmap对象

        onProgressUpdate(Progress... progress) {        //在publishProgress()调用之后在主线程调用,用来显示进度值 }

                ProgressDialog dialog = new ProgressDialog(this);

                dialog.setTitle("...");

                dialog.setProgressStyled(ProgressDialog.STYLE_HORIZONTAL);

                dialog.setIcon(...);

                dialog.setMessage("Loading...");

                dialog.setCanceledOnTouchOutside(false);

                dialog.show();

                dialog.setProgress(int value);

                dialog.setOnDismissListener(

                      onDismiss(DialogInterface dialog) {       //myAsync.cancel(true);    }

                )

                dialog.dismiss();

        onCanceled(Result result) {        //取消异步任务之后再主线程中运行}

}

主线程:new MyAsyncTask.excute(path);//一个MyAsyncTask对象只能调用excute()一次

 

转载于:https://my.oschina.net/glfei/blog/3007857

你可能感兴趣的文章
如何修改 git 记录?
查看>>
技术团队代码管理和部署
查看>>
Swift 项目主管和大家聊了聊 Swift 5,ABI 稳定性最受关注
查看>>
mybatis 插件 flying-清明 发布
查看>>
Java实现excel导入导出学习笔记2 - 利用xml技术设置导入模板,设置excel样式
查看>>
NG-ZORRO-MOBILE 0.11.5 发布,基于 Angular 7 的 UI 组件
查看>>
The Little JavaScript Closures
查看>>
春节快乐!10 场 AI 学术公开课伴你过新年
查看>>
CodeHub#1 回顾 | 敏捷开发与动态更新在支付宝 App 内的实践 ...
查看>>
阿里云图数据库GDB公测,高度连接数据查询效率提升10倍 ...
查看>>
Waymo 新工厂落地密歇根,自动驾驶“改造狂魔”即将上线 ...
查看>>
结算模块设计
查看>>
解密阿里中间件女程序员以夕、钰佩代码诗!
查看>>
估值30亿美金的地平线,要狂奔去哪里?
查看>>
Mysql存储之ORM框架SQLAlchemy
查看>>
45个值得收藏的 CSS 形状
查看>>
专访盒子鱼COO朱韵伊:因为懂节制和AI,我们走进了3600所中小学 ...
查看>>
SAP的BC425关于BTE部分的PA教材翻译
查看>>
Aop说明
查看>>
国外 服务器,阿里云海外服务器-海外节点云服务器全线2折起挺好
查看>>