计算机系统应用
2008年第12期
Android与J2ME平台间即时
通信的研究与实现●
StudyandImplementationofInstantMessagingbetweenAndroidandJ2MEPlatforms,姚昱曼1t2刘卫国1(1.
信息科学与工程湖南长沙410083;2.湖南广播电视大学现代教育技术中心湖南长沙410004)
摘要:随着新一代智能手机平台Android的发布和我国3C
网络投入运营,不同智能手机间的即时通信应用越来越重要。本文分析了实现Android与J2ME平台间即时通信的关键技术,并在模拟环境上实现了不同平台终端设备间的即时通信功能。关键词:AndroidJ2ME即时通信XMPPJabber
1.引言
随着2008年4月我国3G网络投入商业试运营,更快的网络传输速度必定会催生新的移动应用,不同智能手机平台间的即时通信将越来越重要。本文通过对比研究,分析了Android和J2ME间即时通信的关键技术,并在模拟环境下实现了不同平台终端设备间的即时通信功能。
图1
应用层
程序应用程框架
l喝…。.……I其他库‘蠹蓄要警蟊雾善磐产、巴:::—:划
浏览器、散据库…)
Linux内核层
Android平台的结构
2
2.I
Android与J2ME平台框架结构
Android平台Android是2007年11月由开放手机联盟(Open
(1)Linux内核层:Android底层是一个基于Linux
version
2.6.23内核来开发的独立操作系统,主要是添
加了一个名为Goldfish的虚拟CPU以及Android运行
HandsetAlliance)推出的新一代智能手机平台,它是
所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其它的
软件层之间。
一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和应用程序,它既是一个智能手机操作系统,同时也是一个智能手机开发平台,其开源
免费的特性加上业界巨头的技术支持和强力推动势必在不久的将来占有智能手机市场的可观份额。Android平台自底向上由以下四个层次组成:Linux
(2)Android运行时库和其他库层:Android运行
时库包含一组核心库(提供了
Java语言核心库内的大部分功能)和Dalvik虚拟机。(3)应用框架层:在应用框架层Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化
设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以
内核层、Android运行时库和其他库层、应用框架层、应
用程序层如图1所示:
①基金项目:国家自然科学基金(60676016);湖南省高校科研项目(06D064)
118应用技术Al@ied
TeclIni驴e
万方数据
2008年第12期
计算机系统应用
使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)o(4)应用程序层:Android本身会附带一些核心的应用程序,包括e—mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。
2.2
展悼J,通过应用网关可以实现两类系统间的互联,基于上述两方面考虑我们选用基于XMPP的开源即时通信系统Jabber进行后续研究与实现。3.2系统框架及
工作流程在整个通信过程中涉及到三个角色:客户端、服务器、网络(包括互联网及移动数据网)。客户端是An-droid和J2ME平台的应用程序旧1。服务器端包括Dis-patch服务器、若干个Jabber服务器、数据库。客户端通过卜玎TP与服务器端进行数据交换,交换过程中涉及到两个XML流:一个流把数据包从客户端提交到服务器上;另一个流把数据从服务器提交到客户端。当用户想进行通信时,只要启动手机上的客户端应用程序进行登录,发送一个包括用户登录号和密码的H1TP包给服务器端Dispatch.Dispatch根据用户的登录号和密码到