- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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类的程序中实现小时、分钟、秒倒计数字转换的基本流程如下所示:
while(true){
if (second == 0) {
//如果分钟和小时都是0,则退出倒计时
if (minzero == true hourzero == true) {
running = false;
break;
}
if (minute == 0) {
//如果小时为0,则退出
if (hourzero == true) {
running = false;
break;
}
//如果小时数没有倒计完,则分钟数复位
minute = 60;
if (hour == 0) {//如果倒计结束
running = false;
break;
}
hour = (hour - 1) % 12;
}
//如果分钟数没有倒计完,则秒数复位
second = 60;
//分钟减1
minute = (minute - 1) % 60;
}
//秒数减1
second = (second - 1) % 60;
}
}
倒计时的时间控制可以使用线程的暂停函数sleep函数来控制,因为sleep函数可以设置暂停的时间,因此程序中使用sleep(1000)来实现每暂停1秒钟的时间就重新设置倒计的时间,然后申请重画一次屏幕,并在屏幕上显示当前剩余的时间。
显示倒计时数字的CountDownCanvas屏幕类的完整代码如下所示:
//源文件参见光盘:Chapter6\src\countDown\CountDownCanvas.java
package countDown;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lc
您可能关注的文档
- excel教程1..docx
- Finalcutpro操作流程..doc
- FireBug插件使用教程..doc
- CorelDraw教程..doc
- FlashMX教程..doc
- FLUENT中文全教程..doc
- Excel++Word使用方法大全..doc
- fortran95教程9..doc
- FlashGet使用教程..docx
- fortran95教程8..doc
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
文档评论(0)