基于Android平台简易即时通信的研究与设计



1 Android平台简介

Android是Google公司于2007年11月5日推出的手机操做系统,通过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40多家移动通讯领域的领军企业组成开放手机联盟(OHA)。Google与运营商、设备制造商、开发商和其余第三方结成深层次的合做伙伴关系,但愿经过创建标准化、开放式的移动电话软件平台,在移动产业内造成一个开放式的生态系统。正因如此,Android正在被愈来愈多的开发者和使用者所接受。近日,Google发言人AnthONy House称,截止到2010年4月15 Lt,An droid Market已经有3.8万多个应用程序。

  2 Android平台特性与即时通信的研究

Android平台框架共由5部分组成。底层核心是基于Linux 2.6内核开发的独立操做系统,该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。中间是Android执行环境,包括系统运行库、Dalvik虚拟机、核心库和一些C/C++库等支持Android使用的各个组件。应用层框架是开发人员使用这些API框架来开发本身的应用,简化了应用程序开发的架构设计。应用层程序是用Java语言编写的运行在虚拟机上的程序 。整个Android平台框架如图1所示。

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

即时通信(IM)是一个终端连往一个即时通信网路的服务。即时通信与e-mail的不一样在于它的交谈是即时的。大部分的即时通信服务提供了在线提醒的特性——显示联络人名单,联络人是否在线,可否与联络人交谈等。近几年即时通信发展特别迅速,即时通信的功能日益丰富,由PC客户端发展到移动客户端,逐渐发展成一个综合化信息平台,国内市场上知名的即时通信工具备腾讯QQ,新浪UC,中国移动飞信等,但这些产品都有着很严重的安全威胁,如ID被盗、隐私威胁、病毒威胁等。为了减少这些威胁,能够在企业内部开发本身的即时通信软件,减小为未知用户带来的威胁。

  3 简易即时通信功能及设计

3.1 简易通信的功能

本设计实现了在Android平台上开发即时手机通信系统,它可以使用户在手机客户端上登陆服务器,方便、迅捷地收发即时消息。随着研究的深刻,能够在该系统上实现图片的传输和接收,以及其余一些功能,这样可使该系统功能更加多样化。

3.2 简易通信系统框架介绍

通信系统架构采用C/S模式,即客户端/服务器的体系结构。客户端是基于Android平台进行开发,经过3G 网络与Internet创建链接,经过服务器实现Android客户端之间的即时通信。客户端负责初始化通讯过程,进行即时通信时,由客户端负责向服务器端发起链接请求。服务器端采用开源的Openfire 做为服务器,容许多个客户端同时登陆,而且同时链接到一个服务器上。服务器对每一个客户端进行认证,对认证经过的客户端建立会话,实现客户端与客户端之间的通信。

3.3 客户端的解决方案

系统的客户端定位于Android平台的手机,采用SIMPLE 协议做为即时通信协议,SIMPLE(SIP for InSTant Messaging and Presence Levera—ging Extensions)是SIP(Session Initiation Proto—co1)的扩展,它为SIP协议制定了一整套的架构和扩展方面的规范,用于支持IM。SIMPLE经过SIP来传递状态信息和实现分布的信息表示。根据协议规则,采用Android平台提供的XML解析包对XML进行解析。根据Activity模块运行于主线程的特色,采用多线程 技术来解决系统通讯问题。系统的用户信息和聊天信息存储在An—droid平台自身所带的SQLite数据库中。客户端功能模块如图2所示。

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

3.4 服务器端解决方案

系统服务器端采用开源的Openfire来创建即时通讯服务器。Openfire采用Java语言进行开发,Java语言具备跨平台的特色,所以Openfire服务器能够架设于多种操做系统平台上。Openfire服务器的内核主要由服务器链接管理组件、会话管理组件、数据存储组件和传输器组件等组成。

Openfire实现了插件机制,方便扩展,经过安装与异构网络通信的插件,便能与其余的通信软件实现通信。在网络链接中采用Apache的Mina框架来实现网络链接,Mina框架使用非阻塞式的高性能I/O底层,采用异步I/O事件和事件驱动机制,使服务器具备很高的效率和性能,从而可以及时处理大量的客户端链接事件和VO 随机事件,单台服务器可支持上万个并发用户。服务器与客户端的链接示意图如图3所示。

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

3.5 通讯系统结构

随着移动通讯与Internet的飞速发展及其相互融合,3G无线网络使无线网络高速接入Inter—net成为现实,从而移动客户端能够接入到Inter—net的服务。系统客户终端经过3G无线网络采用TCP协议链接到服务器,经过SIMPLE即时通信协议进行及时通信。

在移动网络中,移动终端接人到3G无线网络。

网关移动交换中心GMSC(Gateway Mobile Swim—hing Center)为用户提供分组路由、隧道和跟踪移动终端的位置等功能。UMTS(Universal Mobile Tele—communications System)提供3G网络内部与外部网络的路由和封装,分配TP地址,实现与Intemet网络的互通。通讯系统结构示意图如图4所示。

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

3.6 系统工做流程

服务器对用户输入的用户名和密码进行身份验证,验证成功后,客户端从服务器端读取客户端的我的信息,并更新好友列表和群组信息,服务器端响应客户端的各类请求,客户端可发送接收信息,通信完毕退出系统登陆状态。这样,一个简易即时通信系统便实现了。图5是认证流程示意图。客户端软件使用Java和XML语言在eclipse集成开发环境中开发,基于Andriod 1.5模拟器开发的用户登陆界面如图6所示。

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

基于Android平台简易即时通信的研究与设计 - 1340234852 - 1340234852的博客

4 结语

该设计主要讨论了基于Android平台的简易即时通信系统,研究了在开源服务器Openfire上各个移动客户端和服务器之间的通讯系统结构,实现了客户端功能。随着研究的进一步深刻,基于An .droid的通信系统会逐渐完善,相信基于Android平台的即时通讯系统会有着很好的应用前景。

数据库

相关文章
相关标签/搜索