嵌入式系统设计及应用

上传人:re****.1 文档编号:483537354 上传时间:2024-01-03 格式:DOCX 页数:8 大小:129.47KB
返回 下载 相关 举报
嵌入式系统设计及应用_第1页
第1页 / 共8页
嵌入式系统设计及应用_第2页
第2页 / 共8页
嵌入式系统设计及应用_第3页
第3页 / 共8页
嵌入式系统设计及应用_第4页
第4页 / 共8页
嵌入式系统设计及应用_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《嵌入式系统设计及应用》由会员分享,可在线阅读,更多相关《嵌入式系统设计及应用(8页珍藏版)》请在金锄头文库上搜索。

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:/: + port); pendingMessages = 0; /没有处理的信息的个数 dead = false; /创建消息接收线程,并启动 Thread t = new Thread(this); t.start(); /调用run()方法 return msgConn; 四、设计结果与数据处理最终系统运行的结果如下图所示。(一)首先,运行该程序,打开两个手机终端。如图3所示。 图3 图4 图5(二)使用终端1向终端2发送短信。打开终端1的发送短信功能后,在收件人号码文本框中输入接收端的号码,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号