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所示。
即时通讯(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所示。
3.4 服务器端解决方案
系统服务器端采用开源的openfire来建立即时通信服务器。openfire采用java语言进行开发,java语言具有跨平台的特点,因此openfire服务器可以架设于多种操作系统平台上。openfire服务器的内核主要由服务器连接管理组件、会话管理组件、数据存储组件和传输器组件等组成。
openfire实现了插件机制,方便扩展,通过安装与异构网络通讯的插件,便能与其他的通讯软件实现通讯。在网络连接中采用apache的mina框架来实现网络连接,mina框架使用非阻塞式的高性能i/o底层,采用异步i/o事件和事件驱动机制,使服务器具有很高的效率和性能,从而能够及时处理大量的客户端连接事件和vo 随机事件,单台服务器可支持上万个并发用户。服务器与客户端的连接示意图如图3所示。
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所示。
3.6 系统工作流程
服务器对用户输入的用户名和密码进行身份验证,验证成功后,客户端从服务器端读取客户端的个人信息,并更新好友列表和群组信息,服务器端响应客户端的各种请求,客户端可发送接收信息,通讯完毕退出系统登录状态。这样,一个简易即时通讯系统便实现了。图5是认证流程示意图。客户端软件使用java和xml语言在eclipse集成开发环境中开发,基于andriod 1.5模拟器开发的用户登录界面如图6所示。
4 结语
该设计主要讨论了基于android平台的简易即时通讯系统,研究了在开源服务器openfire上各个移动客户端和服务器之间的通信系统结构,实现了客户端功能。随着研究的进一步深入,基于an .droid的通讯系统会逐渐完善,相信基于android平台的即时通信系统会有着很好的应用前景。

三类可以促进催化降解性能的原电池结构
国外硬件工程师曝光山寨iPhone充电器设计缺陷
899元!小米缔造又一个金典,红米Note 3帅气!
推挽式驱动器提供5V/1A隔离
小米6什么时候上市?小米6发布会最新曝光,或将还有小米平板3,期待!
Android平台的特性及如何利用其实现简易即时通讯的设计
赛普拉斯PSoC 4新架构开发套件现通过e络盟全球预售
传统车企、科技公司、媒体成三辆马车头 推动新能源汽车发展全面展开
三星Note系列丢失了最重要的卖点?
是什么原因造成直线导轨滑不动或者卡顿?
西门子MES Opcenter流程行业套件的系统集成
华米Amazfit GTR 42mm智能手表新配色正式开售支持NFC公交卡功能
车萝卜HUD进行了升级改版,新增“闲聊”功能
MAX9814 具有AGC和低噪声麦克风偏置电路的麦克风放大
宇泛智能亮相第五届中国物联网大会
华为新型电力基础设施实现充电网自动驾驶 智能无感知充电体验
DS2770 Li+脉冲充电器与线性充电器的充电效率和电池老化效应
迈向TWh时代,动力电池进入新一轮扩产周期
VIVADO中使用MB如何配置冷启动
伺服电机靠什么控制