android进度条怎样实现多线程实现android更新进度条效果

android进度条  时间:2021-07-10  阅读:()

怎样实现多线程实现android更新进度条效果

多线程实现更新android进度条。

转载自 ganlijianstyle 实例教程,详细信息我已经注释 查看源码打印? 01 .shougao.hello; 02 03 import android.app.Activity; 04 import android.os.Bundle; 05 import android.os.Handler; 06 import android.os.Message; 07 import android.view.View; 08 import android.view.View.OnClickListener; 09 import android.widget.Button; 10 import android.widget.ProgressBar; 11 12 public class HelloActivity extends Activity { 13 /** Called when the activity is first created. */ 14 15 private ProgressBar progressBar; 16 private Button startButton; 17 18 @Override 19 public void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.main); 22 23 progressBar = (ProgressBar) findViewById(R.id.progressbar); 24 startButton = (Button) findViewById(R.id.startButton); 25 26 startButton.setOnClickListener(new ProgressBarOnClickListener()); 27 } 28 29 class ProgressBarOnClickListener implements OnClickListener { 30 public void onClick(View v) { 31 // 设置进度条为可见状态 32 progressBar.setVisibility(View.VISIBLE); 33 // 添加updataThread到消息队列 34 updateBarHandler.post(updateThread); 35 } 36 } 37 38 // 使用匿名内部类来复写Handler当中的handlerMessage()方法 39 // 这个handler是需要反复执行的,直到消息队列中没有Message为止。

40 // 执行过程中把进度条就刷新了。

41 Handler updateBarHandler = new Handler() { 42 @Override 43 public void handleMessage(Message msg) { 44 System.out.println("----------start handle"); 45 progressBar.setProgress(msg.arg1); 46 updateBarHandler.post(updateThread); // 将要执行的线程放入到队列当中 47 } 48 }; 49 50 // 线程类,该类使用匿名内部类的方式进行声明 51 Runnable updateThread = new Runnable() { 52 int i = 0; 53 54 public void run() { 55 // TODO Auto-generated method stub 56 System.out.println("----------Begin Thread"); 57 i += 20; 58 // 得到一个消息对象,Message类是android系统提供的 59 Message msg = updateBarHandler.obtainMessage(); 60 // 将Message对象的arg1参数的值设置为i 61 msg.arg1 = i; // 用arg1、arg2这两个成员变量传递消息,优点是系统性能消耗较少 62 try { 63 Thread.sleep(3000); // 让当前线程休眠1000毫秒 64 } catch (InterruptedException ex) { 65 ex.printStackTrace(); 66 } 67 // 将Message对象加入到消息队列当中,等下次looper调用消息队列时,使用这个message显示进度条 68 // 或者说,把增加了10%的进度信息Message放到updateBarHandler的队列中。

69 if (i < 101){ 70 updateBarHandler.sendMessage(msg); 71 } 72 // 如果i的值等于100 73 if (i == 100) { 74 // 将线程对象从队列中移除 75 updateBarHandler.removeCallbacks(updateThread); 76 } 77 } 78 }; 79 }

香港云服务器最便宜价格是多少钱一个月、一年?

香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...

星梦云-100G高防4H4G21M月付仅99元,成都/雅安/德阳

商家介绍:星梦云怎么样,星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器,。活动优惠促销:1、成都电信夏日激情大宽带活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路2vCPU2G40G+60G21...

百纵科技,美国独立服务器 E52670*1 32G 50M 200G防御 899元/月

百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。C3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C3机房套餐处理器内存硬盘IP数带宽线路防御价格/月套...

android进度条为你推荐
元宝网元宝网里面的一个币是真的投资赚钱吗溢出隐藏关于CSS样式的问题,怎么可以让div的内容自动换行,溢出隐藏,还要加省略号?bindserviceservice在手机程序中起什么作用索引超出了数组界限索引超出了数组界限spawning为什么编译和运行vc++ 时会出现Error spawning c1.exe 的错误spawning在c语言编译时出现Error spawning cl.exe,是怎么回事?问卷星登陆请问问卷星怎么设置答题时间?清除电脑垃圾怎样彻底清除电脑的垃圾药品标准查询《中华人民名共和国卫生部药品标准》【20080802】?水表读数家用水表怎么读数
星星海 主机测评网 singlehop hawkhost 512av godaddy域名优惠码 360抢票助手 好看的桌面背景图 七夕快乐英文 北京双线 国外代理服务器软件 可外链相册 闪讯官网 789 石家庄服务器托管 工信部icp备案查询 supercache xshell5注册码 register.com sonya 更多