- 浏览: 334984 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
以下内容Sinfrancis版权所有,专注请注明来自 http://mdev.cc/dev
有很多朋友使用Thread进行Progress的进度控制,这里我们使用Timer和TimerTask控制ProgressBar。
实现效果: 在进度75%之前,每秒钟有5%的进度,在75%之后每秒有1%的进度。
需要的知识: 1、ProgressBar 2、Thread 3、Timer和TimerTask
Activity代码:
package cc.androidos.pb; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.ProgressBar; /** * <p> * Progress Bar test * </p> * @author SinFrancis Wong * @version 1.0 * @since 2009-3-10 */ public class ProgressBarTest extends Activity { /** Called when the activity is first created. */ private ProgressBar mProgress = null; /**Static for control the progress*/ public static int mProgressStatus = 0; /**Handler for post message into OS and change UI */ private Handler mHandler = new Handler(); @Override public void onCreate( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); //set the View setContentView( R.layout.main ); mProgress = ( ProgressBar ) findViewById( R.id.ProgressBar01 ); //Progress Bar Click ! mProgress.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View arg0 ) { ProgressBarTest.mProgressStatus = 0; // a new Timer Timer tt = new Timer(); //Schedule the TimerTash , delay is 0 ms, every 1000ms execute the action tt.schedule( new ReTimerTask(), 0, 1 * 1000 ); //Scout the progress scoutProgress.start(); } } ); } /** * Scout the progress */ Thread scoutProgress = new Thread( new Runnable() { public void run() { while ( mProgressStatus < 100 ) { // Update the progress bar mHandler.post( new Runnable() { public void run() { mProgress.setProgress( mProgressStatus ); } } ); } } } ); } /** * A new TimerTask * @author SinFrancis Wong * @version 1.0 * @since 2009-3-10 */ class ReTimerTask extends TimerTask { @Override public void run() { //以下是监测进度到什么位置,如果在75范围内就对进度+5,如果在75----100之间就对进度+1,否则取消此任务 if( ProgressBarTest.mProgressStatus < 75 ) { ProgressBarTest.mProgressStatus += 5; System.err.println( "<75......." + ProgressBarTest.mProgressStatus ); } else if( ProgressBarTest.mProgressStatus < 100 && ProgressBarTest.mProgressStatus >= 75 ) { ProgressBarTest.mProgressStatus += 1; System.err.println( ">75 || <100......." + ProgressBarTest.mProgressStatus ); } else if( ProgressBarTest.mProgressStatus >= 100 ) { System.err .println( ">100......." + ProgressBarTest.mProgressStatus ); cancel(); } } }
布局文件代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ProgressBar android:id="@+id/ProgressBar01" android:layout_width="100px" android:layout_height="20px" android:max="100" android:progress="0" style="?android:attr/progressBarStyleHorizontal" //style设置是为了使得ProgressBar变成进度条而不是圆圈 > </ProgressBar> </LinearLayout>
使用线程也可以处理进度,但也需要借助Handler投递改变UI的消息到操作系统中,从而改版ProgressBar。
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7597一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5889直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2792在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1880TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1318http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3863一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3060為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3804版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 2961版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13931版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4084版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2290Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1844请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1775版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 5970版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2661以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1856以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1908以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2143似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1256以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
Android中使用定时器TimerTask类介绍.txt Android中使用定时器TimerTask类介绍.txt
本文档主要讲述的是Java中的Timer和TimerTask的使用;Timer是一个定时器类,通过该类可以为指定的定时任务进行配置。TimerTask类是一个定时任务类,该类实现了Runnable接口,而且是一个抽象类。希望本文档会给有需要...
Timer和TimerTask的使用 关于java函数中timer类的相关代码 和使用
利用jdk中的timer和timertask来实现,每天定时执行的任务。
Android Timer TimerTask Handler 三者结合实现 数据更新与View更新的同步。 一个不错的机制。
一个不错的android入门实例源码,亲测可用
今天讲下如何定时执行后台任务。 当然还是那句话,方法有好几种,这里就讲下我认为最好用的。...主要使用到TimerTask和Service,相信大家都接触过,大家可以看下TimerTask的源码。这里是一个简单的TimerTaskDemo。
下面是一个在Android中使用定时器Timer和TimerTask的启动,停止,暂停,继续等操作的demo。 需要注意的问题主要有两点: 1、Timer和TimerTask在调用cancel()取消后不能再执行 schedule语句 2、只能在UI主线程中更新...
通过java的TimerTask与Timer设计时间监控,写了一个测试类,帮助新人学习。
NULL 博文链接:https://zhouhaitao.iteye.com/blog/1199750
用Handler和Timertask实现一个简单的定时器,一个简单的demo
java类Timer和TimerTask的使用.doc
在 TimerManager 这个类里面,大家一定要注意 时间点的问题。如果你设定在凌晨2点执行任务。但你是在2点以后 发布的程序或是重启过服务,那这样的情况下,任务会立即执行,而不是等到第二天的凌晨2点执行。...
博客附属代码http://blog.csdn.net/nacl025/article/details/46892481
spring + jdk TimerTask定时器 完整可运行
Timer与TimerTask(计时器)
java类Timer和TimerTask的使用.pdf
在控件上动态显示内容,这里使用的是TextView,其他控件可以使用相同的方法。
spring 定时器 内含TimerTask实现和Quartz实现两种方式
今天讲下如何定时执行后台任务。 主要使用到TimerTask,相信大家都用过,大家可以看下TimerTask的源码。这里是一个简单的TimerTaskDemo。