- 1
- 0
- 约3.18万字
- 约 32页
- 2016-08-05 发布于重庆
- 举报
LongSCUJ2ME第6章
第6章 常用手机功能设计与开发
本章学习要点:
● 掌握日历类的基本知识
● 了解数学公式在时钟程序中的应用
● 对手机常用功能的开发有个大概的认识
● 掌握一些基本实例例如倒计时实例的开发
虽然倒计时、时钟、日历等程序在手机中的应用已经非常广泛,但是这些程序具有一定的代表性,很多手机功能的实现和这些常用的手机程序的实现是大同小异的。这些程序的实现虽然简单,但是应用了很多第四和第五章的知识,因此了解它们的实现过程是有一定的意义的,也能够提高把基础知识应用到实际应用中去的能力。
6.1 倒计时
倒计时这个小工具在手机软件中不是经常用到,但是在需要使用的时候,手机上存在这样一个工具,将非常的方便,毕竟秒表不会常常放在身上,而手机已经基本成为人们生活上的随身携带品了。一个基本的倒计时程序可以设置需要倒计时的时间,当按下启动按钮以后,就可以开始倒计时,可以暂停和继续倒计时,也可以重新设置倒计时的时间。
6.1.1 倒计时实例的技术特点
实现一个倒计时实例主要涉及到以下几个技术特点:
(1)如何恰当的在屏幕上显示倒计的时间
(2)如何控制屏幕上倒计时的数字的更换速度
(3)如何恰当设计倒计时的小时、分钟、秒的数字转换
倒计时在屏幕上的显示很简单,就是显示一个屏幕居中的字符串,然后每隔一秒的时间倒计一次数字,当秒数倒计完成的时候,分种数开始倒计,分种数倒计完成的时候,小时数开始倒计,如此循环反复,原理是相当简单的。
6.1.2 倒计时实例具体实现
既然需要在屏幕上显示倒计时的数字,因此需要创建一个屏幕显示的Canvas子类,这里创建一个名为CountDownCanvas的屏幕类。时间的显示很简单,显示的格式如下所示:
小时 :分钟 :秒数
由于倒计时的时候,显示格式种的小时数或者分钟数可能为0,造成这个为0的数值有2种可能,一种是开始设置倒计时间的时候就没有设置数值,另外一个可能就是是倒计时完成时候值变为0,因此需要设置一个判断标志,用来判断设置情况,CountDownCanvas类的程序中使用的标志如下所示:
private boolean hourzero = false;//判断是否初始化的时候小时数就是0
private boolean minzero = false;//判断是否初始化的时候分钟数就是0
private boolean seczero = false;//判断是否初始化的时候秒数就是0
倒计的时候需要使用3个标志用来判断倒计时是否已经倒计完成。倒计时的时候,数字的变换就需要使用上面的3个标志来判断。假设开始由于倒计时的时候,设置的倒计时间为“10:25:49”,当秒数从当秒从49倒计到0的时候,因为小时数和分钟数都不是0,秒数应该能够调整为59,而分钟数25应该减为24,然后秒数从59开始继续倒计时,以此类推,知道所有时间用完位置。CountDownCanvas类的程序中实现小时、分钟、秒倒计数字转换的基本流程如下所示:
1 while(true){
2 if (second == 0) {
//如果分钟和小时都是0,则退出倒计时
3 if (minzero == true hourzero == true) {
4 running = false;
5 break;
6 }
7 if (minute == 0) {
//如果小时为0,则退出
8 if (hourzero == true) {
9 running = false;
10 break;
11 }
//如果小时数没有倒计完,则分钟数复位
12 minute = 60;
13 if (hour == 0) {//如果倒计结束
14 running = false;
15 break;
16 }
17 hour = (hour - 1) % 12;
18 }
//如果分钟数没有倒计完,则秒数复位
19 second = 60;
//分钟减1
20 minute = (minute - 1) % 60;
21 }
//秒数减1
22 second = (second - 1) % 60;
23 }
24 }
倒计时的时间控制可以使用线程的暂停函数sleep函数来控制,因为sleep函数可以设置暂停的时间,因此程序中使用sleep(1000)来实现每暂停1秒钟的时间就重新设置倒计的时间,然后申请重画一次屏幕,并在屏幕上显示当前剩余的时间。
显示倒计时数字的CountDownCanvas屏幕类的完整代码如下所示:
//源文件参见光盘:Chapter6\src\countDown\CountDownCanvas.java
1 package countDown;
2 imp
您可能关注的文档
最近下载
- 行测知识点大全.pdf VIP
- 2025至2030高密度聚乙烯(HDPE)膜行业调研及市场前景预测评估报告.docx VIP
- 辽2024G406《预应力混凝土实心方桩》 DBJT05-367.docx VIP
- LG星码电梯MRL电梯调试手册.pdf VIP
- 2025年全国统一高考物理试卷(全国甲卷)(高测试题(+答案)可编辑).docx VIP
- 天津市2025-2026学年度第一学期期末高一年级质量检测数学试题.pdf VIP
- 2000年考研英语一真题及答案.pdf VIP
- 基于模糊控制与大数据采集的电动执行器研究.docx VIP
- 公司内部调令通知.pdf VIP
- 京东人事与组织效率铁律十四条.docx
原创力文档

文档评论(0)