android简易倒数计时器
2011-04-18 11:28
375 查看
自己做的一个简易的倒数计时器。用一个线程和handler做的。
输入设定的时间的界面:是SetTime的Acitivity
点击确定后转到下面的界面:CountdownTimer的Acitivity
暂停后的界面:
有什么错误或不足之处还请各位指点:
项目文件在附件中,环境:ubuntu10.04+eclipse galileo
部分代码贴出来:
//实现三个按钮操作的内部类
private View.OnClickListener listener= new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.start:
{
//开始计时
updateHandler.post(updateThread);
break;
}
case R.id.pause:
{
//暂停计时
updateHandler.removeCallbacks(updateThread);
break;
}
case R.id.reset:
{
//重新设置
updateHandler.removeCallbacks(updateThread);
Intent intentReset=new Intent();
intentReset.setClass(CountdownTimer.this, SetTime.class);
CountdownTimer.this.startActivity(intentReset);
break;
}
}
}
};
//处理数据的线程,使用匿名内部类。
Runnable updateThread = new Runnable(){
@Override
public void run() {
//获取消息
Message msg=updateHandler.obtainMessage();
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
while(time>0){
time--;
break;
}
hoursInt=time/3600;
minutesInt=(time-hoursInt*3600)/60;
secondsInt=time-hoursInt*3600-minutesInt*60;
//把此消息发送到消息队列中
updateHandler.sendMessage(msg);
//如果计时为0,就updateThread线程从线程队列中删除掉
if(time==0){
updateHandler.removeCallbacks(updateThread);
}
}};
Handler updateHandler=new Handler(){
//把消息从消息队列中取出处理
public void handleMessage(Message msg){
seconds.setText(secondsInt+"");
minutes.setText(minutesInt+"");
hours.setText(hoursInt+"");
updateHandler.post(updateThread);
}
};
}
本文出自 “six” 博客,请务必保留此出处http://six518.blog.51cto.com/389958/547594
输入设定的时间的界面:是SetTime的Acitivity
点击确定后转到下面的界面:CountdownTimer的Acitivity
暂停后的界面:
有什么错误或不足之处还请各位指点:
项目文件在附件中,环境:ubuntu10.04+eclipse galileo
部分代码贴出来:
//实现三个按钮操作的内部类
private View.OnClickListener listener= new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.start:
{
//开始计时
updateHandler.post(updateThread);
break;
}
case R.id.pause:
{
//暂停计时
updateHandler.removeCallbacks(updateThread);
break;
}
case R.id.reset:
{
//重新设置
updateHandler.removeCallbacks(updateThread);
Intent intentReset=new Intent();
intentReset.setClass(CountdownTimer.this, SetTime.class);
CountdownTimer.this.startActivity(intentReset);
break;
}
}
}
};
//处理数据的线程,使用匿名内部类。
Runnable updateThread = new Runnable(){
@Override
public void run() {
//获取消息
Message msg=updateHandler.obtainMessage();
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
while(time>0){
time--;
break;
}
hoursInt=time/3600;
minutesInt=(time-hoursInt*3600)/60;
secondsInt=time-hoursInt*3600-minutesInt*60;
//把此消息发送到消息队列中
updateHandler.sendMessage(msg);
//如果计时为0,就updateThread线程从线程队列中删除掉
if(time==0){
updateHandler.removeCallbacks(updateThread);
}
}};
Handler updateHandler=new Handler(){
//把消息从消息队列中取出处理
public void handleMessage(Message msg){
seconds.setText(secondsInt+"");
minutes.setText(minutesInt+"");
hours.setText(hoursInt+"");
updateHandler.post(updateThread);
}
};
}
本文出自 “six” 博客,请务必保留此出处http://six518.blog.51cto.com/389958/547594
相关文章推荐
- Android应用开发实例篇(1)-----简易涂鸦板
- 用于Android开的简易WebService访问框架
- android 简易的注册界面
- 手把手带你撸一套Android简易ORM框架
- Android简易微博
- Android实战简易教程-第二十七枪(Android设置头像上传功能实现)
- Android实战简易教程-第五十四枪(通过实现OnScrollListener接口实现下拉刷新功能)
- <Android 应用 之路> 简易贪吃蛇
- Android实战简易教程-第九枪(BitmapFactory.Options对资源图片进行缩放)
- 一个简易android弹幕生成代码
- Android 短代码实现 最简易的画板
- <Android 应用 之路> 简易手电筒
- android之service音乐简易版播放器
- Android简易实战教程--第一话《最简单的计算器》
- Android简易录音机
- Android实现简易计步器功能,隔天步数清零,查看历史运动纪录
- Android 开发第五弹:简易时钟(闹钟)
- Android简易音乐播放器之界面实现(第一篇)
- android之eclipse简易快速安装插件方法