LongSCUJ2ME第6章..doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档