本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx

上传人:b****4 文档编号:17883543 上传时间:2022-12-11 格式:DOCX 页数:20 大小:399.07KB
下载 相关 举报
本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx_第1页
第1页 / 共20页
本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx_第2页
第2页 / 共20页
本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx_第3页
第3页 / 共20页
本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx_第4页
第4页 / 共20页
本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx

《本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。

本科毕业设计基于j2me的手机定时系统的设计与实现Word文档下载推荐.docx

第一章引言

1.1课题研究的目的与意义

目的:

1.更进一步的加深对eclipse、wtk工具的熟练使用和J2me环境配置及开发过程;

2.熟练掌握一门语言,对学习其他语言也有很大的帮助;

3.学习程序封装的合理性,了解类与类之间的联系,更好的构造程序结构;

4.锻炼遇到问题的解决能力,能够很快的解决问题,发现隐藏的漏洞。

意义:

本系统是利用J2ME实现定时系统在手机平台上的应用。

J2me是运行在嵌入式设备上,为这些消费类电子产品设备提供灵活的环境,如移动电话、游戏终端等。

J2me还提供了图形用户界面、安全的模型,支持互联网协议。

J2me平台如今已被广泛应用在设备上,未来的发展也是相当看好。

其利用的开发工具主要有Eclipse和NetBeans两种,同时也是最常用的两种,由于其适用平台从以前的电视机、PC等转换到如今十分流行的手机中来,使以手机为平台的应用类软件拥有巨大的市场空间,随着3G的开通和应用,使得手机类应用程序迎来新的热潮,使其发展前景十分的可观。

基于J2me目前已经出现的不是很多,大多数都是以简单的计时功能予以敷衍,所以如果能设计好定时系统,市场还是很看好的。

1.2系统的主要功能

本系统主要是用来进行计时和定时,帮助提醒用户一些短暂的比较容易遗忘或者自己无法得到有效提醒的情况,同时考虑到用户使用闹铃的情况,在系统加入了次日提醒功能,可以省去用户每天都要设定时间的繁琐,此外,系统还可以进行定时发短信、关机等功能。

随着手机的飞速发展,人们对手机的依赖也日益加深,需要手机又更加全面的功能。

 

第二章相关理论和可行性分析

2.1对定时系统开发的理解

本系统在设计方面做了一些改变,为了更简捷的使用花了大量的心思,首先对市场上已经存在的定时系统做了参考,找出其优点和缺点,然后开发要充分的利用JAVA语言面向对象的特点,把系统内的各个模块设计成一个个相对独立的对象,然后将这些相对独立的对象进行类的封装,把用户的需求转化为软件的需求,把软件的需求转化为软件的设计,用软件代码来实现软件设计,对软件代码进行测试并签署确认它可以投入运行使用的过程,在这个过程中的每一阶段,都包含有相应的文档编制工作。

对定时系统软件开发的过程中,遵循一定的流程,主要包括系统分析、系统设计、系统编码、系统测试以及系统的维护等几个阶段。

2.2可行性分析

1、技术可行性

设计定时系统主要是使用J2me语言,以为对J2me中定时器类的了解和运用,其次就是要求对于开发环境和开发工具的熟悉和了解。

没有涉及到过于复杂的知识,所以技术上可行。

2、经济可行性

本次设计不需要花大量资料去购置设备,只需要一台装有Eclipse软件和WTK手机模拟器的电脑就行了。

还需要给电脑配置宽带网络,方便收集和浏览网上的资料。

最重要的是自己的构思,不需要先进设备的支持。

所以经济上可行。

3、操作可行性

界面和功能需要考虑用户的习惯,简洁好用是最终目的,所以不需要太复杂的功能,只有网络通信方面需要多注意些,可行。

第三章系统需求分析

3.1系统的开发背景

现在手机的发展现状已经展现了手机的未来市场无可厚非的市场,手机的的确确给人们带来了巨大的便利,手机的功能越来越强大,已经可以代替用户完成许多任务,也被广泛应用于多数方面,手机之所以如此流行的主要原因有一下几个方面:

1、用手机通讯方便快捷、且信息交流相对安全;

2、手机可以节省许多资源;

3、手机上各种应用丰富了手机的功能,让手机的用处更多更大;

4、让手机来代替人完成各种任务,出错少、效率高,等等;

根据现在市场定时系统的情况,可以了解到定时系统的发展还有很大的提升空间,如果能够完善功能,将会对手机的使用情况有很大改变。

可以称的上是手机功能管家,充分利用手机,让手机的强大功能得到淋漓尽致的发挥。

现在市场上使用J2me开发的软件已经不多了,在这里的设计仅仅是一个开始,如果使用J2me语言能够设计出优秀的手机定时系统,那在转移安卓市场后也会是前景一片大好。

3.2需求分析

人们又很多不方便的时候,尽管手机上功能很强大,但是如果无法及时使用,也是形同虚设,所以这时候就需要一种系统能够管理这些功能并按照用户的需求在预设好的时间完成或者执行手机的任务,这就是手机定时系统,强大的定时系统会帮助用户能好的更全面的更个性的使用手机上的功能,本系统主要实现的功能有:

1、可以计时或者定时,时间到时可以提醒备忘,不填写备忘时就相当于闹铃功能;

2、计时或者定时,到时关机;

3、计时或者定时发送短信;

4、可以在计时时间到的时候设置再次计时、在定时时间到的时候设置次日计时;

第四章系统设计

4.1软硬件环境配置

4.1.1硬件配置

1、计算机一台(包括各类硬件部分如主机、显示器、鼠标、键盘等)

2、连接互联网的设备,适配器、电缆等

3、测试程序用的Java手机、相关数据线等

4.1.2软件配置

1、WindowsXP操作系统

2、eclipse开发软件、eclipseME和jdk

3、wirelessToolkit手机模拟器

4.2系统模块设计

手机定时系统主要分为开始界面模块、模式选择模块、定时任务模块和计时启动模块,系统模块的总体结构图如下(图4-1):

图4-1总体结构图

在总体结构图中详细简单的说明该系统在使用中主要具备的功能,以及各功能模块在系统中的主要应用,从结构图中可以看出,本系统的设计目的是简单便捷,这也是设计是手机等一些小型电子产品所用软件的基本要求,占用内存小,便于操作使用。

4.3操作流程图

本系统主要是在对时间进行设定时可能会有些模糊系统的具体功能,在这里绘制出本手机定时系统的操作流程图,同时也相当于一个使用说明书了,具体流程如下图所示(图4-2):

图4-2操作流程图

4.4模块详细设计

4.4.1开始界面模块设计

开始界面的主要是一个TimeCanvas类,下面来详细介绍一下。

此类的功能是绘制本系统的开始界面。

为了系统不至于单调。

开始界面主要绘制了一张卡通图片,和卡通日期时间,从开始见面可以进入定时系统,可以退出程序。

TimeCanvas类的具体设计如下面两个表(表4.1和表4.2)所示。

表4.1TimeCanvas类成员变量表

描述变量类型名称

手机屏幕或者图片的宽intw

手机屏幕或者图片的高inth

获取系统年月日intyear

卡通图片或者数字Imageswimsuit

启动线程显示时间Threadth

进入定时系统CommandcmdOk

退出整个程序CommandcmdCan

表4.2TimeCanvas类方法表

名称功能备注

TimeCanvas()连接图片添加数据类的构造方法

paint(Graphicsg)绘制开始界面Canvas类自带方法

initList()初始化数据刷新数据

run()获取时间和数据线程主要方法

commandAction()按键处理处理监听到的事件

4.4.2计时器模块设计

计时器模块和模式选择的主要是一个MyTime类,下面来详细介绍一下。

此类的功能是实现定时系统的计时功能,主要是通过TextField来获取用户设置的时间,然后改变Form里的Item转为设定任务的模块。

MyTime类的具体设计如下面两个表(表4.3和表4.4)所示。

表4.3MyTime类成员变量表

显示定时系统的模式Listlist

计时设置和任务模式Formform

获取用户设置的时间TextFieldtfm

设置需要系统完成的任务ChoiceGroupcg

计时器开始计时CommandcmdStart

表4.4MyTime类方法表

MyTime()连接图片添加数据类的构造方法

init()初始化Form界面还可以还原Form界面

cometolist()返回模式选择供其他类调用的接口

cometocanvas()返回开始界面供其他类调用的接口

stoptimer()停止闹铃返回开始界面

run()用来启动定时器、闹铃线程主要方法

MyTask()创建定时器内部类构造方法

itemStateChanged()项目状态监听设定处理方法

4.4.3定时器模块设计

定时器模块的主要是一个TimeForm类,下面来详细介绍一下。

此类的功能是实现定时系统的计时功能,主要是通过TimeForm来获取用户设置的时间,然后改变Form里的Item转为设定任务的模块。

TimeForm类的具体设计如下面两个表(表4.5和表4.6)所示。

表4.5TimeForm类成员变量表

获取用户设置的时间DateFielddf

定时设置和任务模式Formform

获取用户编辑的备忘或短信TextFieldtf

储存long格式的时间longa

设置是否关机booleangj

获取系统当前时间Calendarcal

表4.6TimeForm类方法表

TimeForm()连接图片添加数据类的构造方法

4.4.4开始计时模块设计

计时界面的主要是一个StartCanvas类,下面来详细介绍一下。

此类的功能是绘制本系统的计时界面。

如果用户设置计时或者定时成功,系统则会专制本界面进行计时或者定时。

如果是计时模式,本界面会进行倒计时,定时模式,界面则显示所定的时间。

在此见面可以取消计时或者定时然后重新回到开始界面。

StartCanvas类的具体设计如下面两个表(表4.7和表4.8)所示。

表4.7StartCanvas类成员变量表

卡通图片或者数字Imagestart

获取系统时间Calendarcal

设定任务模式booleanjd

取消计时或者定时CommandcmdCan

表4.8StartCanvas类方法表

StartCanvas()连接图片添加数据类的构造方法

setmode()获取模式信息计时模式或者定时模式

settime()获取计时信息对外设置的调用接口

setdate()设置定时的时间对外设置的调用接口

setnext()设置次日的时间用户点击次日提醒调用

run()获取系统时间线程主要方法

4.4.5音频文件处理模块类的设计

音频处理模块主要是一个Source类,下面来详细介绍一下。

此类的功能是连接本地音乐文件并实现播放暂停等功能。

Source类的具体设计如下面两个表(表4.9和表4.10)所示。

表4.9Source类成员变量表

建立播放器控制播放Playerp

音量控制VolumeControlvolC

表4.10Source类方法表

Source()连接图片添加数据类的构造方法

start()开始播放音乐文件对外接口

stop()停止播放音乐文件对外接口

4.4.6短信收发模块设计

短信收发模块主要是一个Client01类,下面来详细介绍一下。

此类的功能是实现短信的接收和发送,不过遗憾的是只有一台电脑没有办法测试是否能成功发送和接收。

Client01类的具体设计如下面两个表(表4.11和表4.12)所示。

表4.11Client01类成员变量表

定义套接字SocketConnectionsc

定义输入流DataInputStreamdis

定义输出流DataOutputStreamdos

表4.12Client01类方法表

Client01()定义输入输出和套接字类的构造方法

sendmsg()发送短信显示短信内容

run()接收短信线程主要方法

第五章系统的实现和测试

5.1编码实现

5.1.1ChoiceGroup状态检测实现

这段程序是本方法利用J2me监听器实现的一个简单的变化,可以随着用户的选择改变Form里面项目的内容。

具体代码实现如下:

publicvoiditemStateChanged(Itemit){

//TODOAuto-generatedmethodstub

if(it==cg){

if(cg.isSelected(0)){

form.deleteAll();

form.append(cg);

tf=newTextField("

填写备忘"

"

"

185,TextField.ANY);

form.append(tf);

}

elseif(cg.isSelected

(1)){

form.delete

(1);

else{

编辑短信"

}

}

5.1.2倒计时功能的实现

主要是通过获取用户所设置的时间,然后模仿时钟的60进制进行倒计时,具体代码实现如下:

publicvoidrun(){

while(true){

Calendarc=Calendar.getInstance();

year=c.get(Calendar.YEAR);

month=c.get(Calendar.MONTH)+1;

day=c.get(Calendar.DAY_OF_MONTH);

week=c.get(Calendar.DAY_OF_WEEK);

hour=c.get(Calendar.HOUR_OF_DAY)+8;

if(hour>

23)hour=hour-24;

minute=c.get(Calendar.MINUTE);

second=c.get(Calendar.SECOND);

//System.out.println(hour+"

:

+minute+"

+second);

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

if(jd){

ss--;

if(ss<

0){

ss=59;

mm--;

if(mm<

mm=59;

hh--;

if(hh<

0){ss=0;

mm=0;

hh=0;

}

}

}

repaint();

5.1.3实现卡通时钟

主要是通过制作卡通的汉字和数字,然后根据每秒获取的系统时间来通过g.drawRegion()这个方法画出图片的局部,实现卡通时钟的显示。

具体代码的实现如下(其中ct是数字“12345567890:

”组成的图片,cw是“一二三四五六日”):

protectedvoidpaint(Graphicsg){

g.setColor(255,255,255);

g.fillRect(0,0,w,h);

g.setColor(0,0,0);

g.setFont(f);

g.drawImage(swimsuit,0,0,Graphics.LEFT|Graphics.TOP);

int[]num=newint[8];

int[]word=newint[8];

intj=0;

num[0]=hour/10;

num[1]=hour%10;

num[2]=10;

num[3]=minute/10;

num[4]=minute%10;

num[5]=10;

num[6]=second/10;

num[7]=second%10;

word[0]=year/1000;

word[1]=year/100%10;

word[2]=year/10%10;

word[3]=year%10;

word[4]=month/10;

word[5]=month%10;

word[6]=day/10;

word[7]=day%10;

for(inti=0;

i<

9;

i++){

if(i==4||i==6||i==8){

g.drawRegion(cw,ww*j,0,ww,hw,Sprite.TRANS_NONE,ww*(i+j),0,Graphics.LEFT|Graphics.TOP);

j++;

if(i==8){

g.drawRegion(cw,ww*j,0,ww,hw,Sprite.TRANS_NONE,0,30,Graphics.LEFT|Graphics.TOP);

j++;

g.drawRegion(cw,ww*j,0,ww,hw,Sprite.TRANS_NONE,ww,30,Graphics.LEFT|Graphics.TOP);

g.drawRegion(cww,ww*week,0,wn,hn,Sprite.TRANS_NONE,wn*2,30,Graphics.LEFT|Graphics.TOP);

break;

g.drawRegion(ct,wn*word[i],0,wn,hn,Sprite.TRANS_NONE,wn*(i+j),0,Graphics.LEFT|Graphics.TOP);

8;

i++)

g.drawRegion(ct,wn*num[i],0,w

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1