版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西北工业大学嵌入式系统设计及应用设计报告学 院: 计算机学院 学号: 2009201577 姓名: 高原 专 业: 计算机系统结构 设计时间: 2010.07 指导教师: 蒋泽军 手机短信收发系统一、设计目的及要求本次课程设计主要是通过J2ME开发一个手机短信收发系统,以实现短信的收发功能。通过设计,进一步加深对J2ME的原理、技术、在Eclipse环境下的开发以及无线消息转发流程的掌握,增强对嵌入式系统应用与开发的认识。本次课程设计需要实现的功能包括:(一)短信的发送当用户在主菜单界面选择发送短信的功能时,系统为用户提供文本消息编辑器。当用户在消息编辑文本框中输入要发送的文本消息并指定了发送
2、目的地后,系统能够将用户的文本信息发送到指定的目的地址。(二)短信的接收当用户运行程序时,系统能够异步接收到发来的文本消息。当有短信到来时,接收端的屏幕显示收到一条短信,提示用户进行查看。(三)短信的存储系统需要设计一个收件箱,用来存储接收到的短信,方便用户进行短信的查询。二、设计环境及要求本次设计需要安装的环境包括:(一)WTKWTK 的全称是Sun J2ME Wireless ToolkitSun的无线开发工具包。这一工具包设计目的是为帮助开发人员简化J2ME的开发过程。使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI
3、, JSR 185) 规范兼容的设备上运行的J2ME 应用程序。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。WTK是用来开发MIDP的,为了让MIDlet可以顺利编译和执行,WTK必须具有CLDC和MIDP的类库,WTK可以帮助我们省去额外安装调试这些类库的时间。本次课程设计安装的是sun_java_wireless_toolkit-2_5_2-ml-windows.exe。(二)Eclipse平台Eclipse是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。J2ME环境的配置过程:下载eclipse-SDK
4、-3.1-win32.zip,解压缩eclipse-SDK-3.1-win32.zip将eclipseme.feature_1.5.0_motosdk_site.zip和eclipseme.feature_1.7.9_site.zip拷入eclipse目录。安装用Eclipse开发J2ME程序的插件,进行EclipseMe插件相应的配置。三、设计内容与步骤(一)内容介绍1J2MEJ2ME的全称是Java2 Micro Edition(Java2技术微型版),是由美国SUN公司提出的JAVA技术规范。J2ME是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入式设备上的JAVA应用程序而被
5、提出的。J2ME是建立在一个由概要描述、配置、JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境。它的技术核心是由一个JAVA虚拟机(JVM)及一套适合运行在上述设备环境上的API接口构成。2J2ME 平台体系结构J2ME 平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java 虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME 中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的。J2ME 中有两个最主要的配置,分别是
6、Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。它们是根据设备的硬件性能进行区分的,例如处理器、内存容量等。J2ME 体系结构框图如图1所示。3MIDletMIDlet是Java ME CLDC执行模型的核心。MIDlet相当于CLDC/MIDP (Mobile Information Device Profile,移动信息设备描述)中的应用程序,他处理用户输入的内容,并且显示输出内容。MIDlet还负责管理与系统的交互,同时通过将系统的控制暂停并让位给发起中断的应用程序,来响
7、应对资源的请求。所有MDIlet都必须实现4个方法:Optional PackagesHost Operating SystemProfilesConfigurationsJava虚拟机 图1 J2ME体系结构框图MIDlet构造方法当系统需要构造MIDlet实例的时候就会调用这个方法。构造方法通常什么也不做,它将初始化工作延时给startApp方法负责。startApp方法当应用程序启动或者继续执行的时候,AMS(Application Management Software,应用程序管理软件)会调用此方法。startApp应该执行所有必要的引导指令来初始化应用程序,并呈现应用程序的第一个屏
8、幕。简单的应用程序可以选择在该方法内完成所有这些操作;较复杂的应用程序可以讲这些操作放在相互独立的一系列方法内,然后在该方法中调用。pauseApp方法当系统因为任何原因必须中断MIDlet时(例如有电话或者消息呼入,或者启动了另一个应用程序),AMS会调用此方法。MIDlet此时应当释放任何不需要的资源。destroyApp方法当应用程序必须退出的时候,AMS会调用此方法。4MIDlet的生命周期MIDlet有三个状态,分别是pause、active 和destroyed。在启动一个MIDlet的时候,AMS会首先创建一个MIDlet实例并使得他处于pause 状态,当startApp()方
9、法被调用的时候MIDlet进入active 状态,也就是所说的运行状态。在active 状态调用destroyApp(Boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause 状态。在destroyed 状态的MIDlet必须释放了所有的资源,并且保存了数据。如果unconditional 为false 的时候, MIDlet可以在接到通知后抛出MIDletStateChangeException 而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。5通过无线消息API实现短信收发无线消息API
10、包括:SMS(Short Messaging Service)、EMS(Enhanced Message Service)、MMS(Multimedia Messaging Service)。SMS是最早的短信服务标准,它是目前也是迄今为止普及率和使用率最高的一种短信业务。SMS的特点是:短信的长度被限定在160字节之内(纯文本,包括文字和数字),如果是二元非文本短信(例如图片和铃声),它的长度则为140字节,此外手机短信又有着设定保留功能,即使用户关机或不在服务区时,只要一进入网络即可收到。SMS 短信也是一种存储和转发服务。也就是说,短信并不是直接从发送人发送到接收人,而始终通过 SMS
11、中心进行转发的。如果接收人处于未连接状态(可能电话已关闭),则消息将在接收人再次连接时发送。 SMS 短信具有消息发送确认的功能。这意味着 SMS 与寻呼不同,用户不是简单地发出短信然后相信消息已发送成功;而是短信发送人可以收到返回消息,通知他们短信是否已经发送成功。EMS比起SMS来,EMS的优势是除了可以像SMS那样发送文本短信之外,还可以发送简单的图像、声音和动画等信息。MMS可以用于传送文字、图片、动画、音频和视频等多媒体信息。本文设计的短信收发系统主要采用SMS来实现。(二)具体设计步骤1类设计短信收发系统共包含四个类。类之间的关系图2所示:InboxReceiverSMSMIDle
12、tSenderForm图2 类关系图SMSMIDlet类该类是应用程序的主类,控制应用程序的生命周期。 SenderForm类该类提供了编辑短信的用户界面和发送信息的功能。Receiver类该类提供了打开消息连接及接受短信的功能。 Inbox类该类描述了收件箱,提供了查看接受的短信的功能。2短信发送与接收的过程发送端:创建无线消息的客户连接;调用连接对象的newMessage方法创建一个消息对象;设置消息对象的内容;使用连接对象的send方法发送消息;短信发送线程执行体,建立连接并发送短信。public void run() try String smsUrl = sms:/+receiver
13、Address+:+desPort; MessageConnection msgConn = (MessageConnection)Connector.open(smsUrl); TextMessage textMessage = (TextMessage)msgConn.newMessage(MessageConnection.TEXT_MESSAGE); textMessage.setPayloadText(messageContent); msgConn.send(textMessage); msgConn.close(); catch(IOException ioe) midlet.s
14、howError(发送信息错误!n + ioe.toString(); 接收端:创建无线消息服务器端连接;设置消息监听器;当有消息到达时,监听器将回调MessageListener接口中的notifyIncomingMessage方法。在该方法中,连接对象调用receive方法接收消息;在端口port打开一个sms连接,并启动一个接收消息的线程。public MessageConnection openConnection(String port) throws IOException msgConn = (MessageConnection)Connector.open(sms:/: + p
15、ort); pendingMessages = 0; /没有处理的信息的个数 dead = false; /创建消息接收线程,并启动 Thread t = new Thread(this); t.start(); /调用run()方法 return msgConn; 四、设计结果与数据处理最终系统运行的结果如下图所示。(一)首先,运行该程序,打开两个手机终端。如图3所示。 图3 图4 图5(二)使用终端1向终端2发送短信。打开终端1的发送短信功能后,在收件人号码文本框中输入接收端的号码,然后在消息内容文本框中输入要发送的信息,点击发送按钮进行发送。如图4所示。(三)接收端接收到短信时,显示提示信息。如图5所示。(四)通过收件箱可以查看收到的短信。如图6所示。(五)点击下一条按钮可以查看下一条短信。如图7所示。 图6 图7五、分析与讨论本次课程设计较好地完成了预先的设计要求,实现了短信收发系统的主要功能。另外,对J2ME开发嵌入式手机应用的技术及过程有了进一步的认识和理解。但在设计过程中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【东北师大版劳动实践】六年级上册第四单元第2课《校园安全·校园警示牌绘制》
- 开题报告:职普融通与职业教育高质量发展:从国际经验到中国路径创新
- 开题报告:易地扶贫搬迁移民内生发展能力提升的社区教育赋能机制研究
- 开题报告:信息技术支持下的分层教学系统设计研究
- 《货物运输实务》课件 4.1认识货物运输设备
- 污水管网工程施工组织设计1
- 2024年创新版长期股权购买协议范本下载版
- 《滚动导轨副样本》课件
- 2024年城市别墅装饰设计与施工一体化协议版B版
- 义教教育体制改革项目年度计划行政工作计划
- 商业经营管理有限公司组织架构、岗位设置与管理职能
- 住院医师儿外科Ⅰ阶段:小儿心胸外科考试题库
- 管理会计论文范文大全(推荐十篇)
- 儿科分级护理标准
- 浙江理工大学-答辩通用PPT模板
- 严重精神障碍治疗工作规范主要内容及与的变化课件
- 注册化工工程师必备离心水泵叶轮水力设计计算表格带计算公式
- 单位消防安全基本情况档案
- 稻油轮作油菜全程机械化生产技术规程DB50-T 1253-2022
- 空调水支架计算书
- 《国际海洋运输保险的选择》教学设计
评论
0/150
提交评论