第 23卷第 4期
2010年 8月
常 州 工 学 院 学 报
Journa l of Changzhou Institu te of Techno logy
V ol123 N o14
A ug12010
收稿日期 : 2010205217
作者简介 :贾理华 (1986— ) ,男 ,硕士研究生。
基于 A ndroid平台简易即时通讯的研究与
贾理华 乐燕芬 施伟斌
(上海理工大学光电信息与计算机工程学院 ,上海 200093)
摘要 :论文简单介绍 A ndro id平台的特性 ,主要阐述了基于 A nd ro id平台简易即时通讯 ( IM )的
作用和功能以及实现
。
关键词 : A nd ro id平台 ;即时通讯
中图分类号 : TN 92915 文献标志码 : A 文章编号 : 1671 - 0436 (2010) 04 - 0051 - 03
Research & D esign of S im ple IM Ba sed on Andro id Pla tform
J IA L i2hua L E Yan2fen SH I W ei2b in
(D epartm ent of Op tical2E lectrical and Computer Engineering, U niversity of Shanghai for Science and Technology, Shanghai 200093)
Abstract: In the pape ris, the au thor w ill g ives a b rief in troduc tion of A ndro id p la tfo rm , and focuses on
the function and the w ay to ge t it of s im p le instan t m essage based on A nd ro id p la tfo rm.
Key words:A ndro id p la tfo rm; instan t m essage
1 Andro id平台简介
A ndro id是 Google公司于 2007年 11月 5日
推出的手机操作系统 ,经过 2年多的发展 , A ndroid
平台在智能移动领域占有不小的份额 ,由 Google
为首的 40多家移动通信领域的领军企业组成开放
手机联盟 (OHA )。Google与运营商、设备制造商、
开发商和其他第三方结成深层次的合作伙伴关系 ,
希望通过建立
化、开放式的移动电话软件平
台 ,在移动产业内形成一个开放式的生态系统。正
因如此 , A ndroid正在被越来越多的开发者和使用
者所接受。近日 , Google 发言人 A nthony House
称 ,截止到 2010年 4月 15日 , A ndroid M arket已经
有 3. 8万多个应用程序。
2 Andro id平台特性与即时通讯的
研究
A ndro id平台框架共由 5部分组成。底层核
心是基于 L inux 2. 6内核开发的独立操作系统 ,
该层用来提供系统的底层服务 ,包括安全机制、内
存管理、进程管理、网络堆栈及一系列的驱动模
块。中间是 A ndro id执行环境 ,包括系统运行库、
D alv ik虚拟机、核心库和一些 C /C + +库等支持
A ndro id使用的各个组件。应用层框架是开发人
员使用这些 A PI框架来开发自己的应用 ,简化了
应用程序开发的架构设计。应用层程序是用 Java
语言编写的运行在虚拟机上的程序 [ 1 ] 。整个 A n2
d ro id平台框架如图 1所示。
图 1 Andro id平台框架
常州工学院学报 2010年
即时通讯 ( IM )是一个终端连往一个即时通讯
网路的服务。即时通讯与 e2m ail的不同在于它的
交谈是即时的。大部分的即时通讯服务提供了在
线提醒的特性──显示联络人名单 ,联络人是否在
线 ,能否与联络人交谈等。近几年即时通讯发展特
别迅速 ,即时通讯的功能日益丰富 ,由 PC客户端
发展到移动客户端 ,逐渐发展成一个综合化信息平
台 ,国内市场上知名的即时通讯工具有腾讯 QQ ,新
浪 UC,中国移动飞信等 ,但这些产品都有着很严重
的安全威胁 ,如 ID 被盗、隐私威胁、病毒威胁等。
为了减小这些威胁 ,可以在企业内部开发自己的即
时通讯软件 ,减少为未知用户带来的威胁。
3 简易即时通讯功能及设计
311 简易通讯的功能
本设计实现了在 A ndroid平台上开发即时手机
通讯系统 ,它能够使用户在手机客户端上登录服务
器 ,方便、迅捷地收发即时消息。随着研究的深入 ,
可以在该系统上实现图片的传输和接收 ,以及其他
一些功能 ,这样可以使该系统功能更加多样化。
312 简易通讯系统框架介绍
通讯系统架构采用 C /S 模式 ,即客户端 /服
务器的体系结构。客户端是基于 A ndro id平台进
行开发 ,通过 3G 网络与 In terne t建立连接 ,通过
服务器实现 A ndro id客户端之间的即时通讯。客
户端负责初始化通信过程 ,进行即时通讯时 ,由客
户端负责向服务器端发起连接请求。服务器端采
用开源的 O penfire[ 2 ]作为服务器 ,允许多个客户
端同时登录 ,并且同时连接到一个服务器上。服
务器对每个客户端进行认证 ,对认证通过的客户
端创建会话 ,实现客户端与客户端之间的通讯。
313 客户端的解决
系统的客户端定位于 A ndro id平台的手机 ,
采用 S IM PL E[ 3 ]协议作为即时通讯协议 , S IM PL E
(S IP for Instan t M essag ing and Presence L evera2
g ing Ex tensions ) 是 S IP ( Session In itia tion Pro to2
co l)的扩展 ,它为 S IP协议制定了一整套的架构
和扩展方面的规范 ,用于支持 IM。S IM PL E通过
S IP来传递状态信息和实现分布的信息表示。根
据协议规则 ,采用 A ndro id平台提供的 XM L 解析
包对 XM L 进行解析。根据 A ctiv ity模块运行于
主线程的特点 ,采用多线程 [ 4 ]技术来解决系统通
信问题。系统的用户信息和聊天信息存储在 A n2
d ro id平台自身所带的 SQL ite数据库中。客户端
功能模块如图 2所示。
图 2 客服端功能模块
314 服务器端解决方案
系统服务器端采用开源的 O penfire来建立即
时通信服务器。O penfire采用 Java语言进行开
发 , Java语言具有跨平台的特点 ,因此 O penfire服
务器可以架设于多种操作系统平台上。O penfire
服务器的内核主要由服务器连接管理组件、会话
管理组件、数据存储组件和传输器组件等组成。
O p enfire实现了插件机制 ,方便扩展 ,通过安装与
异构网络通讯的插件 ,便能与其他的通讯软件实
现通讯。在网络连接中采用 A pache的 M ina框架
来实现网络连接 , M ina框架使用非阻塞式的高性
能 I /O 底层 , 采用异步 I /O 事件和事件驱动机
制 ,使服务器具有很高的效率和性能 ,从而能够及
时处理大量的客户端连接事件和 I /O 随机事件 ,
单台服务器可支持上万个并发用户。服务器与客
户端的连接示意图如图 3所示。
图 3 服务器与客户端连接示意图
25
第 4期 贾理华 ,乐燕芬 ,施伟斌 :基于 A nd ro id平台简易即时通讯的研究与设计
315 通信系统结构
随着移动通信与 In terne t的飞速发展及其相
互融合 , 3G无线网络使无线网络高速接入 In te r2
net成为现实 ,从而移动客户端可以接入到 In te r2
net的服务。系统客户终端通过 3G 无线网络采
用 TC P协议连接到服务器 ,通过 S IM PL E即时通
讯协议进行及时通讯。[ 5 ]
在移动网络中 ,移动终端接入到 3G无线网络。
网关移动交换中心 GM SC (Gatew ay M obile Sw itc2
hing Center)为用户提供分组路由、隧道和跟踪移动
终端的位置等功能。UM TS (U niversal M obile Tele2
comm unications System )提供 3G网络内部与外部网
络的路由和封装 ,分配 IP地址 ,实现与 Internet网络
的互通。通信系统结构示意图如图 4所示。
316 系统工作流程
服务器对用户输入的用户名和密码进行身份
图 4 通信系统结构示意图
验证 ,验证成功后 ,客户端从服务器端读取客户端
的个人信息 ,并更新好友列表和群组信息 ,服务器
端响应客户端的各种请求 ,客户端可发送接收信
息 ,通讯完毕退出系统登录状态。这样 ,一个简易
即时通讯系统便实现了。图 5是认证流程示意
图。客户端软件使用 Java和 XM L 语言在 ec lip se
集成开发环境中开发 ,基于 A ndriod 1. 5模拟器开
发的用户登录界面如图 6所示。
图 5 认证流程示意图
图 6 用户登录界面
4 结语
该设计主要讨论了基于 A ndroid平台的简易
即时通讯系统 ,研究了在开源服务器 Openfire上各
个移动客户端和服务器之间的通信系统结构 ,实现
了客户端功能。随着研究的进一步深入 ,基于 A n2
droid的通讯系统会逐渐完善 ,相信基于 A ndroid平
台的即时通信系统会有着很好的应用前景。
[参考文献 ]
[ 1 ]余志龙 ,陈昱勋 ,郑名杰 ,等. Google A ndroid SD K开发范例大
全 [M ]. 北京 :人民邮电出版社 , 2009.
[ 2 ]张云川. 标准化的即时通信协议———S IM PlE和 XM PP的对比
研究 [ J ]. 武汉科技大学学报 : 自然科学版 , 2005, 28 ( 4 ) : 375
- 377.
[ 3 ]张海燕. Java多线程技术在手机互联网中的应用 [ J ]. 农业网
络信息 , 2008 (3) : 97 - 98.
[ 4 ]姚昱 ,刘卫国. A ndroid的架构与应用开发研究 [ J ]. 计算机
系统应用 , 2008 (11) : 110 - 113.
[ 5 ]张利国 ,代闻 ,龚海平. A ndroid移动开发
详解 [M ]. 北京 :
人民邮电出版社 , 2010.
责任编辑 :张秀兰
35