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 }

欧路云(22元) 新增美国Cera线路VPS主机且可全场8折

欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...

BuyVM($5/月)不限流量流媒体优化VPS主机 1GB内存

BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...

御云(RoyalYun):香港CN2 GIA VPS仅7.9元每月起,美国vps仅8.9/月,续费同价,可叠加优惠

御云怎么样?炎炎暑期即将来临,御云(royalyun)香港、美国服务器开启大特惠模式。御云是新成立的云服务提供商,主要提供香港、美国的云服务器,不久将开启虚拟主机业务。我们的香港和美国主机采用CN2 GIA线路。目前,香港cn2 gia vps仅7.9元每月起,美国vps仅8.9/月,续费同价,可叠加优惠,香港云服务器国内延迟一般在50ms左右,是搭建网站的最佳选择,但是请不要用于违法用途。点击进...

android进度条为你推荐
移动测速请教GPS导航的固定测速与移动测速是什么意思?开票系统网上申请的发票怎么读入开票系统representspublic class是什么意思李昊天铠甲勇士刑天中人物资料slideshare如何通过slideshare扩充LinkedIn人脉索引超出了数组界限索引超出了数组界限是怎么回事啊?数秦科技安徽数智通科技有限公司怎么样?民生电商陆金所、民生电商哪个更适合投资?系统论坛安卓系统论坛哪个好?中文搜索引擎百度是不是全球最大中文搜索引擎?
宿迁服务器租用 看国外视频直播vps 如何注销域名备案 主机优惠码 rackspace sugarsync 缓存服务器 ev证书 京东商城双十一活动 cdn加速原理 美国堪萨斯 gtt 河南移动梦网 dnspod net空间 深圳域名 域名转入 卡巴斯基试用版下载 深圳主机托管 双十二促销 更多