在Android中实现异步任务机制有两种,Handler和AsyncTask。优缺点自己百度,推荐使用AsyncTask。

private ProgressDialog dialog;

//新建一个对话框,不显示dialog = new ProgressDialog(this);dialog.setTitle("温馨提示");dialog.setMessage("数据加载中,请耐心等待...");dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//条形进度条dialog.setCancelable(false);//能否在显示过程中关闭ok,ProgressDialog 准备好了。写一个内部类继承AsyncTask。

// todo  进度条,下载等待提示,new一个对象执行execute方法即可。

class DataAsy extends AsyncTask{      //处理耗时操作

@Override

protected Boolean doInBackground(Integer... integers) {

//publishProgress(5);

return true;

}

//启动异步类后首先会执行

@Override

protected void onPreExecute() {

super.onPreExecute();

dialog.show();//显示对话框

}

//任务结束后执行,用来关闭提示框

@Override

protected void onPostExecute(Boolean aBoolean) {

super.onPostExecute(aBoolean);

if(!aBoolean){

Toast.makeText(EnterActivity.this,"下载出错,请重新进入下载",Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(EnterActivity.this,"下载完成",Toast.LENGTH_SHORT).show();

}

dialog.dismiss();

}

//当有 publishProgress(value)发来的数据时触发,更新UI?

@Override

protected void onProgressUpdate(Integer... values) {

super.onProgressUpdate(values);

dialog.setProgress(values[0]);//更新进度条,运行在UI

}

}

先执行onPreExecute(),然后doInBackground(),当里面有publishProgress()调用的时候触发onProgressUpdate(),最后执行onPostExecute()。

最后哪里需要执行耗时操作调用一下execute()方法即可,例如

new DataAsy().execute(1);就可以调用异步方法了。

android编程任务进度条,Android应用开发之AsyncTask 处理耗时操作和显示进度条相关推荐

  1. android编程中添加gif,Android应用开发之【Android】使用android-gif-drawable包加载GIF动图...

    本文将带你了解Android应用开发之[Android]使用android-gif-drawable包加载GIF动图,希望本文对大家学Android有所帮助. [导包] 首先需要导入android-g ...

  2. android编程多组件布局,Android把多个控件定义成一个整体的布局类使用

    在程序中有时候几个控件要放在一起,想随意放在布局上,而且不仅一个布局要使用,此时就想把这几个控件定义成一个新的View就好了,于是就有了下面这个类新的控件类SeekBarGroup.java,Seek ...

  3. android编程 自动裁剪图片,Android编程实现调用相册、相机及拍照后直接裁剪的方法...

    本文实例讲述了Android编程实现调用相册.相机及拍照后直接裁剪的方法.分享给大家供大家参考,具体如下: package com.cvte.health.phone; import java.io. ...

  4. android 监听安装来源_Flutter插件开发之APK自动安装

    点击上方的终端研发部,右上角选择"设为星标" 每日早9点半,技术文章准时送上 公众号后台回复"学习",获取作者独家秘制精品资料 往期文章 记五月的一个Andro ...

  5. 【android编程】第五讲-Android高级组件

    Android第五讲高级组件 实践题Code链接:https://blog.csdn.net/xbean1028/article/details/104771559 文章目录 Android第五讲高级 ...

  6. 【android编程】 第三讲-Android布局管理器

    android编程 第三讲 Android布局管理器 文章目录 android编程 第三讲 Android布局管理器 约束布局管理器ConstraintLayout 线性布局管理器LinearLayo ...

  7. android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例

    Qt串口通信开发之QSerialPort模块详细使用方法与实例 发布时间:2020-10-23 12:19:05 来源:脚本之家 阅读:111 作者:沧海一笑-dj Qt串口通信基础及名词说明 串口通 ...

  8. android编程用什么意思,android sdk是什么意思?干嘛用的

    用户提问 Android SDK(Software Development Kit)提供了在Windows/Linux/Mac平台上开发Android应用的开发组件,Android支持所有的平台,其包 ...

  9. 硬件接口开发之USB电话录音盒来电显示

    除了上篇<硬件接口开发之Modem来电显>介绍的Modem来电显示,还可以采用USB电话录音盒来进行来电显示和电话录音功能,本文介绍如何在C#中实现该功能.首先我们看看我是如何在我的软件中 ...

最新文章

  1. python语音信号处理_现代语音信号处理笔记 (一)
  2. leaflet的入门开发(一)
  3. Html5table控件,Table Web 控件、TableRow Web 控件及TableCell Web 控件
  4. 第02次作业-线性表
  5. MySQL 复制夯住排查以及原理探讨
  6. java实现迷你计算机,用JAVA写一个迷你编辑器.doc
  7. Docker查看关联容器的卷宗在本机的存储位置
  8. 小度智能音箱维修点_小度智能音箱无法唤醒怎么办
  9. Codeforces Round #281 (Div. 2) A. Vasya and Football 模拟
  10. Hive 之 分析窗口函数
  11. adguard没有核心 core no_新媒体自学宝典(No.24)| 如何借力自媒体平台放大粉丝流量?...
  12. matlab 手工实现normalize函数 未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘normalize‘
  13. Windows Server 2008设置远程桌面连接数
  14. resource和autowired
  15. Java配置分离之Spring远程配置
  16. 微信高并发资金交易系统设计方案——百亿红包背后的技术支撑
  17. 如何下载谷歌地球高程为TIF格式的文件
  18. 华表(cell)的使用总结
  19. android面试题之二(红黑联盟)
  20. [Erlang 0075] Bad value on output port 'tcp_inet'

热门文章

  1. java运费模板设计_猿实战17——实现你未必知晓的运费模板
  2. ios kvo 要引入_iOS中KVO的使用
  3. html叠加层,JavaScript实现多个重叠层点击切换效果的方法
  4. python好用的内置库_第42p,time库,Python中优秀的内置库
  5. java 字符串编程题_Java编程题——在一个字符串中查找第一个非重复的字符
  6. bcd转ascii码 流程图_4-20mA转RS485,MODBUS数据采集模块
  7. 小米笔试题:无序数组中最小的k个数
  8. JAVA基础系列:Arrays.sort()
  9. Deepin-安装QQ音乐(Windows程序)
  10. 个人技术博客--团队Git规范(参考西瓜学长)