欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    通信工程专业本科毕业论文.doc

    • 资源ID:4069273       资源大小:1.91MB        全文页数:46页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通信工程专业本科毕业论文.doc

    JIANGSU UNIVERSITY 本 科 生 毕 业 论 文基于J2ME的手机通信功能的开发The development of mobile communication based on J2ME 学院名称: 计算机科学与通信工程学院 专业班级: 通信工程0501班 学生姓名: 指导教师姓名: 指导教师职称: 2009年5月摘要当今时代是个信息时代,也是一个手机的时代,现代生活对手机的依赖相当严重。J2ME是近年来随着各种移动通信设备的发展而诞生的一项新的开发技术,因其“一次编写,到处运行”的Java特性而提高开发的效率。随着手机的普及、互联网的日益更新和发展、Java功能在移动设备上的实现,越来越多基于手机平台的应用更是在飞速发展,对丰富人们的生活内容起着不可忽视的作用。发送和接收文本信息是手机传统的通信功能,也是人们日常生活中不可缺少的一种通信功能,运用无线接口函数WMA设计实现此功能;同时针对互联网络的更新和3G网络的发展,又提出了手机的网络通信即时聊天系统的开发与应用,在设计和实现此功能时,采用了基于TCP的Socket传输协议,并运用了MIDP的网络通信功能。本论文着眼于J2ME技术的应用,还选择了基于TCP/IP协议的网络编程技术。论文首先介绍了Eclipse集成开发环境、J2ME的体系结构、配置、简表等基础知识;其次,分析了实现手机通信功能的相关基础技术及理论,即无线接口函数WMA、MIDP的网络通信功能等;最后,运用JAVA语言编程,并在SUN公司提供的模拟器上模拟手机发送和接收文本信息及手机与PC机、手机与手机的网络通信的功能。关键词:J2ME;MIDP;WMA;发送和接收文本信息;Socket;网络通信AbstractThe present era is the information age, is also an era of cell phones, modern life's dependence on the phone quite serious.J2ME in recent years a variety of mobile communications equipment with the development of the birth of a new technology, Its "write once, run anywhere" nature of Java to increase the efficiency of development. With the popularity of mobile phones, the Internet to update and develop the growing, Java function in the realization of mobile devices, More and more applications based on mobile platform is in the rapid development and plays a role in rich content of people's lives, that can not be ignored.Send and receive text messages is the traditional communication functions of mobile phones and is also an indispensable feature of a communication to daily life, The use of wireless interface function WMA designed to achieve this function; At the same time, the update for the Internet and 3G networks, put forward a cell phone network - real-time chat system development and complement, in the design and implementation of this feature using the Socket based transport protocol TCP, and use of the network communication function MIDP.This paper focuses on the application of J2ME technology, have also chosen based on the TCP / IP network protocol programming. Paper introduces the Eclipse integrated development environment, J2ME architecture, configuration, profile and other basic norms of knowledge;Secondly, an analysis of the realization of mobile communication technology and the relevant basic theory, that is, the wireless interface function WMA, MIDP network communication function, etc.; Finally, the use of JAVA programming language and simulator SUN provided on the analog phones to send and receive text messages and mobile phone with PC, mobile phone and mobile phone network communication functions.Key words: J2ME; MIDP; WMA; send and receive text messages; Socket; network communication目录第一章 绪论11.1 论文研究的背景11.2 论文研究内容和意义21.3 论文组织结构2第二章 开发环境与开发技术32.1 开发环境32.2 关于Eclipse及Wireless Tool Kit32.3 MIDP52.4 关于Windows 套接字编程8第三章 Java 2 Micro Edition概述93.1 J2ME的基本概念93.2 J2ME优势10第四章 手机文本信息的发送和接收124.1 WMA概述124.2 WMA的使用134.3 PUSH注册154.4 文本信息收/发设计164.5 程序打包及运行效果17第五章 手机的网络通信205.1 网络通信协议205.2 基于Socket协议的网络通信205.3 手机与PC之间的网络通信225.3.1 应用程序的设计225.3.2 功能的实现235.4 手机与手机之间的网络通信245.4.1 应用程序的设计245.4.2 功能的实现25第六章 总结与展望286.1 论文总结286.2 前景展望29致 谢30参考文献31附录A:手机SMS实现代码32附录B:手机与PC机通信实现代码37附录C:手机与手机通信实现代码39第一章 绪论本次设计的目的是掌握基于TCP/IP协议的网络编程技术(windows套接字编程)与流行开发工具J2ME,并通过设计实现智能手机发送和接收文本信息及网络通信的功能。本章将主要阐述本论文的主要内容和论文的结构框架,以便整体把握本论文的思想脉络。1.1 论文研究的背景伴随着我国移动通信网络规模的不断扩大和通讯技术的不断成熟,移动用户发展极为迅速。移动用户在高速发展的同时,对移动通信业务的需求也越来越高,用户已不局限于进行基本的通话功能,更需要诸如数据、传真等新业务。其中“短信息服务”最受用户青睐。种类繁多的短信中心能够提供了各种各样的定制服务,用户可以自由挑选组合所需信息。比如,证券业人士可以定制股市行情,地产业人士可以定制地产信息,经常出行的人可以定制天气预报,体育迷可以定制体育新闻如此丰富的内容使每个行业、每个阶层的人都能找到属于自己的信息。此外,短信与手机通话相比的另一大优点是只要不关机,可以随时接收发送短信息。1因此,人们日常使用的手机具备发送和接收文本信息的功能,早已不再是新鲜事。当前手机还越来越趋于娱乐性,年轻一代更是将手机视为移动的便携电脑,随时随地与好友玩各种联网游戏、翻阅感兴趣的新闻资料、网上购物,甚至用手机进行炒股、与好友网上聊天等。手机俨然是当今社会生活必不可少的,并且能给人们带来丰富多彩的生活。互联网的日益更新和发展以及3G技术应用的日益逼近,越来越多基于手机平台的应用更是在飞速发展,互联网和手机应用相结合逐步成为了如今手机发展的新趋势,同时也为移动应用开发迎来空前的发展机遇。但是传统手机又存在以下几方面的弊端:首先,传统手机在出厂时均由硬件厂商固化程序。因此,手机程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。其次,传统手机访问互联网是通过WAP(Wireless Application Protocol),所有网络资源必须接通网络才能在线访问,非常耗时、费用也比较高。而Java技术在手机及无线设备应用方面有非常明显优势,主要是:(1)应用程序可以根据用户的需要进行下载,而不需要购买由硬件厂商提供的套件,并且还可以进行升级。(2)Java技术使网络带宽的应用变得更为有效。由于应用程序可以下载到手机或无线设备上,并在本地运行,因此,只有当器件连接到服务器时才会占用网络带宽。(3)Java技术提供了一个类库,它使应用开发商可以创建更为直觉、丰富的用户界面(GUI);基于以上分析,Java手机将是未来手机的发展方向,是业界的热点。众所周知,为了满足这些信息设备日益扩大的需求,SUN公司通过引进J2ME即Java 2 Micro Edition技术扩大Java技术的使用范围,J2ME是在移动设备上运行的微型版Java平台,也是当前较为流行的开发工具。1.2 论文研究内容和意义本论文通过对TCP/IP协议的网络编程技术的掌握,主要研究在J2ME的Eclipse集成开发环境下,如何利用现有的开发技术进行windows套接字编程,并在SUN公司提供的模拟器上实现手机发送和接收文本消息及手机与PC机、手机与手机之间的网络通行功能。本论文研究与实现的手机通信功能结合了J2ME开发技术和TCP/IP协议网络编程技术的优势,满足了越来越多手机消费者的需求,并且符合集传统通信和互联网技术为一体的智能化移动通信设备的发展趋势,对推进手机的普及、智能化手机的发展及J2ME开发技术的广泛使用有重要的意义。1.3 论文组织结构(1)第一章,概述,这部分是对本文的研究意义作简要阐述,并对本文的内容作简要概括。(2)第二章,开发环境与开发技术的介绍,即对J2ME开发环境的Eclipse工作台、WTK开发包、MIDP规范和应用程序及套件、通用连接框架GCF、Windows套接字编程等的介绍。(3)第三章,J2ME开发环境的体系结构、配置、简表、可选包以及优势的介绍。(4)第四章,无线消息接口WMA、PUSH注册的介绍及手机发送和接收文本信息功能的实现。(5)第五章,实现手机与PC机、手机与手机之间的即时通信。(6)第六章,总结与展望。第二章 开发环境与开发技术本章首先简单介绍本次设计使用的开发环境、相关工具的原理和使用;然后较详细介绍MIDP规范架构、MIDP应用程序单元及应用程序单元套件、MIDP的通用连接框架GCF;最后对Windows套接字编程进行简单了解。2.1 开发环境操作系统:Microsoft Windows XP开发平台:Eclipse 3.2.1架构设计:MIDP开 发 包:Java(TM) 2 Standard Edition (5.0) Sun-java-Wireless Tool Kit 2.5程序语言:J2ME开发技术:windows套接字编程2.2 关于Eclipse及Wireless Tool Kit1.EclipseEclipse是一个开放源代码的、基于Java的整合型可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将Eclipse当作Java IDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为其允许构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。2Eclipse的软件界面如图2.1所示。图2.1 Eclipse的软件界面2.Wireless Tool KitJ2ME Wireless Tool Kit(WTK)是常用的J2ME SDK,使用WTK可以进行程序的编译、校验、运行等,由SUN公司提供。WTK可以支持各种最新的技术规范,提供一个通用的模拟器在PC上测试所开发的应用程序。一些常用的集成开发环境如JBuilder、Sun One Studio、Eclipse都可以和WTK进行集成,使得开发J2ME应用程序非常方便。在实际开发时,也有可能针对某个具体设备开发应用程序。各个设备制造厂商都为自己的设备提供了开发环境和模拟器,如Moto,Nokia等公司都提供了针对自己手机的J2ME SDK,该SDK兼容于WTK SDK,另外附加提供了一些专有API,提供了模拟真实设备的模拟器。例如Nokia提供的Developers Suit SDK。3WTK的运行界面如图2.2所示。图2.2 WTK的运行界面2.3 MIDP1.MIDP架构移动信息设备简表MIDP(Mobile Information Device Profile)是一个用于手机/PDA开发的Profile,它以连接限制设备配置(CLDC)为基础,定义了一个体系架构以及相应的API库,从而为第三方的移动信息设备(MID)应用的开发提供了一个开放的标准环境。在实际设备的软件架构中,MIDP的逻辑位置如图2.3所示。实现MIDP规范的软件运行于CLDC提供的KVM上,为使用MIDP API的应用程序提供额外的功能。从MIDP的架构图中,可以看到MIDP是如何适应设备的。在MIDP架构中,最低级的块(MID)描述了设备的硬件。在硬件之上的是本地系统,这一层包括操作系统和设备所使用的类库。再上一级,从左到右是上一层的软件CLDC。这一块描述了虚拟机和由CLDC规范所定义的相关类库,它提供了更高级别的Java API所需要的基本的Java功能。在CLDC的顶部是两类API:MIDP的API和特殊的OEM API。4 图2.3 MIDP的架构2.应用程序单元(MIDlet)与套件(MIDlet Suit)MIDP应用程序的基本运行单位称为MIDlet,类似于网页上运行的Applet,有自己的状态,并且他的状态变化由设备上的程序管理软件AMS(Application Management Software)控制。该软件负责程序的安装部署、启动、停止以及从设备上删除等等,并在此过程中负责错误处理和与用户交互,为程序提供了Java运行环境。设计MIDlet状态主要是为了保证MIDlet运行的一致性和封闭性。图2.4表示了MIDlet状态与状态之间的转换关系,由图中可以看出MIDlet有以下3个状态:(1)Paused:MIDlet已经被初始化,并且不处于Active状态。当MIDlet处于Paused状态时,他不占有任何共享资源。当AMS调用pauseApp()方法或者MIDlet自身调用notifyPaused()方法后,MIDlet进入Paused状态。(2)Active:MIDlet处于活动状态,一般占有当前屏幕。MIDlet创建后,AMS调用startApp()方法,使MIDlet进入活动状态。(3)Destoryed:MIDlet释放了它占用的所有资源、终止运行后的状态。AMS调用destroyApp()方法或者MIDlet自身调用notifyDestroyed()方法,MIDlet进入Destroyed状态。图2.4 MIDlet状态和状态转换图因为MIDlet是程序运行的基本单位,所以开发MIDP程序时必须实现自己的MIDlet,所有的MIDlet都必须继承抽象类javax.microedition.midlet.MIDlet。MIDlet类实现了与AMS交互的大部分功能,只把状态转换时需要调用的startApp()、pauseApp()、destroyApp()3个方法留给开发者实现。MIDlet应用程序要被传输到无线设备上之前,必须把所有相关文件进行打包放到JAR文件格式的程序包中。除了Java类以外,其他文件诸如图像和应用程序数据(即通常所说的资源),也可能是这个程序包的一部分,另外还包括描述JAR内容的清单文件(manifest.mf)。这个程序包就是MIDlet应用程序套件MIDlets(MIDlet Suit)。清单文件包括一系列的MIDlet属性,表示为冒号隔开的名字值对。有一些属性是强制字段,而另外一些是可选字段。如MIDlet-Name属性指明了MIDlets的名称,MIDlet-Version属性表示MIDlets的版本号等等。MIDlets中可能包含多个MIDlet,其中所有的MIDlet共享一个持久化存储空间、运行时对象类和类中的静态成员变量。为了保证安全性和MIDlets提供者的原始意图,套件中的MIDlet、类(Class)和其它资源文件,都不能单独安装、更新或者删除,必须作为一个整体来操作。换句话说,MIDP应用程序的安装、更新和删除的基本单位是MIDlets。每个MIDlets都可以存在一个可选的应用程序描述文件JAD(Application Descriptor)。JAD使得设备上的AMS在装载整个JAR文件之前,先验证相应的MIDlet套件是否合适本设备。通过JAD还可以提高MIDlet属性而不需要修改JAR。JAD文件格式与Manifest文件格式一样,拥有一些相同的属性。33通用连接框架GCF对于手机而言,能够进行网络通信是一个基本要求,那么在进行手机程序设计时就需要将联网方面的能力考虑进去。并且,利用网络可以使手机作为客户端和服务器端进行配合,实现复杂的应用,从而大大扩展手机的能力。MIDP Profile所包括的网络支持源于CLDC规范中的通用连接框架GCF (Generic Connection Framework)。因为移动设备种类繁多,通用连接框架中只定义了抽象的用于网络通信的类和接口,并未给出具体协议的实现,协议的实现由位于CLDC之上的简表层来完成。这一设计大大提高了通用连接框架的适应性和扩充性,移动设备制造商可以根据需要在简表中扩充连接框架来对特定协议提供支持。5通用连接框架GCF是由CLDC定义,并被MIDP2.0继承下来的一个可扩展的、通用的I/O框架。该框架是由一组定义在javax.microedition.io包中的接口和若干个类构成。GCF的继承体系如图2.5所示。图2.5 GCF的继承体系在下面的实验设计中,主要用到以几种接口:(1)ConnectionConnection接口是最基本的通用连接类型,它是所有连接接口的根源,即javax.microedition.io包中的所有接口都是基于Connection接口的。其他的连接接口继承Connection中的方法,并且定义了用来访问相关变量和该Connection类型动作的方法。(2)InputConnection和OutputConnectionInputConnection和OutputConnection接口分别定义了输入流和输出流连接所需要的能力。接口用作原始的输入/输出流,如从Socket连接或文件中读取/写入数据流,这两个接口分别在基本的Connection接口上增加了两个方法,一个用来打开用于连接的数据输入/输出流,另一个是用来打开用于连接的输入/输出流。(3)StreamConnectionStreamConnection接口定义了流连接所需的能力,可以提供输入流和输出流,实际上是InputConnection和OutputConnection接口的封装。(4)SocketConnection和ServerSocketConnection SocketConnection和ServerSocketConnection接口在MIDP2.0规范中提供,使得MIDlet具有在TCP/IP层上通过Socket进行通信或使用数据报进行通信的能力。另外,SecureConnection接口支持用户定义一个安全的Socket流连接。62.4 关于Windows 套接字编程WinSock是一套开放的、支持多种协议的Windows网络编程接口,是Windows网络编程事实上的标准。应用程序通过WinSock API设计通信程序,WinSock利用网络通信协议和操作系统调用完成实际的通信工作。套接字(socket)是内核对象中的一种通信结构,它提供网络进程间的数据通信功能。形象上说套接字就是进程的门户。套接字地址是套接字通信结构的描述和定义。套接字描述符就是一个整数类型的值,在Windows中的类型是SOCKET。套接字描述符实质是某套接字内核对象的一个“句柄”,套接字描述符所在的进程则通过该“句柄”访问和操作该套接字。每个进程的进程空间里都有一个套接字描述符表,该表中存放着套接字描述符和套接字数据结构的对应关系。该表中有一个字段存放新创建的套接字的描述符,另一个字段存放套接字数据结构的地址。因此根据套接字描述符就可以找到其对应的套接字数据结构。每个进程在自己的进程空间里都有一个套接字描述符表,但是套接字数据结构都是在操作系统的内核缓冲里,可供多个进程使用。7第三章 Java 2 Micro Edition概述本章主要介绍有关Java和J2ME编程的一些基本概念和体系结构,并阐述了J2ME体系结构、配置、简表以及优势等具体内容。本章概念性和了解性的内容较多,是整个设计的基础部分,为后续章节的进行提供了必要的知识储备。3.1 J2ME的基本概念J2ME是Sun公司推出的一个专门面向小型设备应用的“简易”平台,这里的小型设备包括移动电话、个人数字辅助设备(PDA)、网络电话、数字电视上的机顶盒、自动娱乐系统、导航系统、网络交换以及家用自动电器等。8J2ME的出现实际上是Java技术的回归。作为Java 2平台的一部分,J2ME与J2SE、J2EE一起,为无线应用的客户端和服务器建立了完整的开发、部署环境。随着J2ME的应用,为移动互联引入了一种新的模型,即允许手机可以从互联网上下载各种应用程序,并在手机上创造可执行环境离线运行这些程序。9J2ME的体系结构中定义了如下组件:(1)一组Java虚拟机,每种都用于不同的小型设备,满足不同的需求。(2)一组可以运行在各种虚拟机上的配置和简表,分别称为Configuration和Profile。 (3)一些可选包,包括设备厂商提供的API。前两者组成了J2ME的基本运行环境,它们的关系如图3.1所示。运行环境的核心是Java虚拟机,运行于设备的主机操作系统之上,在往上是具体的J2ME配置,包括根据设备的资源需要提供基本功能的编辑库。配置(Configuration)的上面是一个或者多个J2ME Profile,这些附加的编辑库利用相似设备的类似功能。在J2ME中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库。图3.1 J2ME运行环境体系结构首先,J2ME配置。J2ME支持的硬件平台中有比较高端的设备,例如,电视机的机顶盒、网络电视等;也有比较低端的,像手机、寻呼机等。因此为了满足不同硬件的开发要求,J2ME规定了配置(Configuration)的概念。8J2ME中的应用是针对某个特定的简表所写的,而简表又是基于某个特定配置的扩展,因此配置的所有特征都自动包括进简表,然后被针对这个简表所写的应用所使用。配置在3层体系结构中起到了承上启下的作用,它定义了针对在总存储空间、电源、网络连接等硬件功能有类似需求的某个水平范畴或者一组设备的Java平台。对配置的说明如下:(1)规定了所支持的Java编程语言特征。(2)规定了所支持的Java虚拟机特征。(3)规定了所支持的基本Java类库及其API。10当前J2ME存在连接限制设备配置(CLDC)和连接设备配置(CDC)两种配置。第二,J2ME虚拟机。Java程序是以边解释边执行的方式运行的,所有的Java程序都会被编译成二进制代码,并运行在Java虚拟机上。J2ME针对的设备主要是嵌入式和消费类的设备,因为这些设备内存的处理器的限制,所以J2ME所包含的类库也比较小一些,虚拟机的功能也相对简单。第三,J2ME简表。简表为相同消费电子设备的不同生产厂商提供标准化的Java类库。简表的实现是Java应用程序接口的一个集合,用于适应被定义配置的应用程序接口提供的服务,简表是一个完整的运行环境,一个在简表上执行的应用程序不需要额外的支持类。8第四,J2ME可选包。可选包是针对简表规范扩展的,它为用途广泛、独立于设备家族的功能提供了相应的Java类库支持。目前针对无线领域的可选包有:Wireless Messaging API(JSR-120)、Mobile Media API(JSR-135)等。无线设备制造商可以视设备的功能需要,实现相应的可选包规范。11事实上,虽然配置的开发由Sun公司领导,但是许多简表规范仍将继续由特殊设备的供应商领导。目前J2ME领域里使用最广泛的是移动信息设备简表(MIDP),它主要是针对手机和其它双向移动通信设备而设计的。此外,CDC规范和CLDC规范中也都定义了基本的API集合,这些API提供Java的基本功能,例如:java.io、java.lang、java.util、javax.microedition.io,这些包就是定义于CDC和CLDC中。不过这些包都是Java最基本的功能,更多的面向设备的功能性API必须还是通过简表来提供的。83.2 J2ME优势作为一种移动设备上开发平台,J2ME相对其他开发平台具有以下优势。(1)跨平台特性Java技术以其跨平台性,即“一次编写,到处运行”的特点,已经成为智能手机软件平台的事实标准。采用Java技术后,编写应用程序和提供服务的人就不必关系接收其服务的手机采用的是什么样的操作系统和芯片,移动设备只要满足支持特定配置和简表的约束,就可以运行这些Java应用。(2)面向对象编程语言的强大能力Java编程语言在抽象机制和较高层次的程序构造方面远比当前所用的其他语言和工具优秀,这使得应用程序的开发更加有效。(3)强大的内置安全模型Java提供了多级安全性,从类装载器、字节码验证器到安全管理器,都可以保护客户系统免受不安全程序的伤害。Java还提供了用于安全转换Web内容的扩展安全API,可以更安全的处理移动商务和金融程序所需的事务。(4)与企业应用的无缝结合随着J2EE中间服务器的流行,Java已成为创建Web应用程序的第一选择。使用J2ME开发的应用程序易于与J2EE企业应用系统集成,以提供企业级无线应用程序的后台支持,特别是目前的J2ME已经支持以Web服务的形式来调用企业应用的功能。12第四章 手机文本信息的发送和接收发送和接收文本消息是开发WMA接口规范的最初目的。本章将设计一个基于无线消息接口函数WMA(Wireless message API)的短信息收/发软件,学习WMA的使用。4.1 WMA概述无线消息接口函数WMA规范设计的目标是那些能够发送和接收文本信息的手机及其他移动信息设备。它不仅支持发送和接收简单的文本消息,而且能够支持发送多媒体信息。至于信息具体如何传输是依赖底层的网络通信机制,底层的传输机制可以是GSM SMS(Short Message Service,短消息服务)、GSM CBS(Cell Broadcast Service,小区广播服务)、CMDA SMS或者MMS(Multimedia Message Service,多媒体信息服务)。这些不同的底层传输机制具有不同的消息格式和传输方法。但是WMA规范使得这些底层的传输细节对于应用程序开发变得透明。12WMA定义在javax.Wireless.messaging包中,是一个可选包,扩展了通用连接框架GCF,为J2ME平台提供了手机接收和发送文本信息的功能。在该包中定义了6个接口、2个类,描述了无线短消息连接接口和类型。图4.1显示了他们之间的关系。图4.1 无线消息API在实现手机收发文本信息的设计过程中,用到了以下接口:(1)MessageConnection接口MessageConnection扩展了通用连接框架中的Connection接口,提供了发送(send)、接收(receive)文本消息和创建文本消息实例(newMessage)的方法。Public Message receive() throws IOException,InterruptedException接收当前连接中的无线消息。如果当前无线连接中没有消息到达,调用这个方法将阻塞当前线程。发送无线消息:Public void send(Message msg) throws IOException,InterruptedException。Public Message newMessage(String type)创建一个无线消息实例对象。参数type表示创建消息的类型,可以取BINARY_MESSAGE、MULTIPART_MESSAGE和TEXT_MESSAGE三个有效值,这三个有效值是MessageConnection接口中定义的常量。Public void setMessageListener(MessageListener mListener)为当前连接设置消息监听器。如果当前有消息到来,监听器mListener将调回MessageListener接口中的notifyIncomingMessage方法。(2)MessageListener接口MessageListener接口定义了下面的方法。Public void notifyIncomingMessage(MessageConnection conn) 当有消息到来时,notifyIncomingMessage方法将被调用,参数conn表示消息连接。(3)Message接口无线消息连接发送的消息有目的地址和消息内容两部分组成。根据消息的内容,无线消息被分为文本消息、二进制消息和多媒体消息三种消息类型。在无线消息API中分别定义了这三种消息类型的接口。Message接口是所有消息类型的父接口,定义了无线消息的基本方法。Public String getAddress()返回消息的地址。如果当前消息是被发送的消息,那么这个地址表示目的地址;如果当前消息是接收的消息,那么这个地址表示消息发送者的地址。Public Date getTimestamp()返回消息的发送时间。Public void setAddress(String address)设置与当前消息相关的地址。消息的地址必须符合URL格式。(4)TextMessage接口TextMessage接口描述了文本内容的消息类型,提供了操作文本消息内容的方法。Public string getPayloadText()返回文本消息的内容。13Public void setPayloadText(String data)设置当前文本消息的内容。4.2 WMA的使用1.创建文本信息连接无线消息连接方式有两种:服务器方式和客户端方式。服务器方式用于接收无线消息,其URL地址的格式为:scheme:/:port客户端方式用于发送无线消息,其URL地址的格式为:scheme:/host:port其中scheme表示消息的传输协议,无线消息API支持SMS、MMS、CBS三种传输协议。SMS是一种短消息传输协议,可用于接收、发送文本短消息;MMS是多媒体消息系统的传输协议;CBS是基于手机广播短消息服务的传输协议,只能用于接收由广播基站发送的短消息。host表示移动设备的地址,对手机来说就是电话号码。通用连接框架及其扩展中定义的任何类型的连接都由java.microedition.io.Connector类负责创建,连接类型由URL地址的格式加以区分。下面代码使用Connector类的工作方法创建一个短消息连接客户端:MessageConnection mConnc=(MessageConnection)Connector.open(“sms:/5550001:50000”);使用这个无线消息连接的实例对象可以向5550001手机上50000端口上的应用程序发送文本消息。下面代码创建了一个短消息连接的服务器端:MessageConnection mConns=(MessageConnection)Connect

    注意事项

    本文(通信工程专业本科毕业论文.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开