基于Android平台的即时通信系统客户端设计

发布者:tau29最新更新时间:2011-10-24 来源: 安诺电子网关键字:Android 手机看文章 扫描二维码
随时随地手机看文章

引言  

  Android 是Google 推出的一个基于Linux 操作系统, 包含底层框架, 中间件和开发环境的一套平台系统。它支持流行的组件式程序设计, 具有针对性移动设备的Dalvik 虚拟机。浏览器核心是基于开源的WebKit 引擎, 对基于HTML 的各种语言具有良好的支持。图像引擎使用基于openGLES1. 0 的三维图形库。本文的研究目的就是基于Android 平台, 提出一种能为多种移动客户端提供即时通信服务系统的客户端解决方案。
 

  1   系统开发环境

  Android 的应用开发使用Java 语言环境下Android 应用开发工具和API 接口,包括支持各种分辨率的设备模拟器、调试工具、内存及性能分析图表和Eclipse 集成开发环境插件在内的方便快捷的开发环境。

  2   客户端设计

  系统客户端主要实现与服务器端进行通信, 向服务器发送和接收相应的请求, 完成即时通信的过程。开发的客户端基于Jabber 协议[ 4] , 可以实现用户注册和登录、即时消息处理、好友的分组管理、在线状态的监视等功能。

  2. 1   客户端设计结构

  系统客户端, 采用MVC 模式来进行构建, MVC 模式中应用系统被分成3 个部分: 模型( Model) 、视图( View) 和控制器( Contr oller)。View 向用户展示模型的状态以及控制信息, CONt roller 作为控制器, 负责View 和Model 之间的流程控制, 客户端MVC 结构如图1 所示。采用MV C 模式架构进行设计,可以将视图层与逻辑代码以及数据模型层进行分离, 实现系统的松散耦合, 便于系统的维护和代码的重用。同时, 在Android 中, 视图层可以通过定义XML 文件的方式来设计用户界面, 在数据模型层提供了Co ntent Pr ovider类来屏蔽底层具体的存储设备细节, 从而使应用系统具有良好的数据迁移性。

 

图1  客户端MVC 结构图

2. 2   应用模块框架

  Android 中用户界面允许采用定义XML 文件或编写代码建立。通过定义XML 文件来设计用户界面便于代码理解和重用, 效率较高。故系统选用定义XML文件来实现客户端的用户界面。Android 应用程序与用户打交道的基本功能单位是活动( Activity ) , 它通过调用方法setContentView ( ) 加载视图资源显示。运行于后台的应用程序可以通过Ser vice 来进行设计, 通过Binder 机制, 与相关的活动绑定在一起, 系统应用模块架构如图2 所示。

 

图2  应用模块框架图

2. 3   数据存储

  客户端采用Andr oid 平台自身所带的SQLite 数据库来存储用户信息以及即时通信聊天信息, 使用文件存储设备SDear d 来存储图片和音乐。使用contentPr ov ider 将SQLite 资料库系统封装起来, 让应用程序直接使用能够屏蔽数据库差异性, 提供一致界面的contentPro vider 所提供的界面函数。

  2. 4   实现主要功能

  系统客户端主要实现以下功能:

  ( 1) 注册用户: 填写相关的个人信息进行注册, 向服务器提交后服务器返回相应的信息;

  ( 2) 系统设置: 对系统的一些选项进行相应的设置;

  ( 3) 用户设置: 对用户基本信息和一些Jabber 选项进行设置;

  ( 4) 登录和注销: 选择相应的服务, 输入用户名和密码, 登录即时通信系统, 或注销用户, 退出本系统;

  ( 5) 分组管理: 可以创建新的分组, 对分组信息进行修改或删除;

  ( 6) 好友管理: 可以添加好友至某个分组, 修改好友的备注信息, 删除好友;

  ( 7) 好友信息: 登录后, 可以按照分组查看所有好友的信息;

  ( 8) 信息发送: 登录后可给某位好友发送信息, 如果好友离线, 信息暂存于服务器中, 待其上线后接收;

  ( 9) 信息接收: 接收好友发送过来的信息, 并显示;

  ( 10) 查看聊天记录: 可查看与某位好友的聊天记录。

  3   主要模块设计

  系统的即时通信采用XMPP 协议, XMPP 是基于XML 的协议。在系统的即时通信过程中, 通信信息都是以XML 语句进行传输的, 而具体的消息内容则嵌入在XML 元素中。系统主要包括解析、加密、即时通信、图片传输、音乐播放、图片浏览等模块, 各模块设计如下:

  ( 1) 解析模块。系统采用Android 平台上提供的org . xmlpull. vl 解析包对XML 消息进行解析。XMPP协议中的XML 语句是一种树型结构, 解析XMPP 协议的过程即对树的遍历, 节点的名字就是属性的名字, 节点的值就是属性的值。在解析中, 只对主要消息元素进行解析, 主要解析XMPP 协议的3 个顶层元素< message/>  、< Presence/  >和< iq/  >所包含的内容以及包含错误信息的元素 。解析完后, 封装, 供应用模块进行调用;

  ( 2) 加密模块。加密模块对发送和接收的消息进行加解密, 以确保通讯数据的安全。该加密机制是分两步完成的, 首先将二进制码转换成BASE64 码。在转换成BASE64 码之后, 再进行加密, 加密算法由各网络实体建立会话时通过TLS 协商。

  ( 3) 即时通信模块。客户端通过GPRS 无线网络采用TCP 协议连接到Openfire 服务器, 通过服务器作为即时通信平台, 实现客户端与客户端之间即时通信。

  为了解决T CP 在连接服务器的过程中, 等待服务器响应时间过长, 易造成程序暂停, 系统假死现象。在与服务器的通信过程中采取了多线程的方式, 使用3 个线程, 分别负责消息发送、接收和心跳信息的发送。

  ( 4) 图片传输。从文件系统中读入图片后, 将图片转换成". png"  的格式, 写入到字节输出流中。由于图片信息相对于通信文本信息要大很多, 因此采用分组传输的方式, 对字节数组进行分组, 加密后, 分别嵌入到XML 语句中进行传输。接收图片时, 将收到的各个子字符串转换为字节数组并进行解密, 最后进行组合, 还原成原来的图片, 供用户浏览。

  ( 5) 音乐播放。音乐播放通过调用MediaPlayer实现的。Andro id 的Media Player 包含了Audio 和Video 的播放功能。MediaPlayer 在底层上是基于OpenCore( PaeketVideo ) 的库实现的, 为了构建一个MediaPlay er 程序, 上层还包含基于Android 基本库中的Binder 机制的进程间通讯等内容。

  ( 6) 图片浏览。图片浏览主要用android. Graphics类包实现, 这个类包提供了如画布、点和矩形等底层图形工具, 可直接的在屏幕上进行绘制。从文件系统中把所需要的图片读入到内存中, 转化成" . png "的图片格式, 然后在不同的用户界面中, 使图片以不同的形式显示。

  4   结语

  近年来, Android 系统由于其开源性、易开发性得到广泛的应用。移动通信的即时通信服务把手机的短信和手机移动互联网完美地结合起来, 用户通过移动设备终端, 能便捷地与他人进行实时信息交流。利用本设计方案, 可以实现在Andr oid 操作系统上完成即时通信系统客户端的开发, 具有较大的发展、应用空间。


   

关键字:Android 引用地址:基于Android平台的即时通信系统客户端设计

上一篇:嵌入式GDC方案应用考虑因素
下一篇:基于DSP和单片机通信的液晶显示设计

推荐阅读最新更新时间:2024-03-30 21:50

发布两个月之后 Android N安装率达到0.3%
    网易科技讯11月8日消息 据外媒(venturebeat.com)报道,由于手机阵营的碎片化,每次新版本Android的普及都是一次漫长的过程。根据谷歌平台版本页面的数据显示,在正式发布两个月之后,Android Nougat(牛轧糖)安装率达到0.3% 。   今年八月份谷歌正式向Nexus设备推送Android 7.0 Nougat更新。上一次Android的版本更新用了一年多的时间才成为普及率最高的系统版本。如不出意外,Android Nougat的普及速度可能不会有大改观。说到速度,不得不提谷歌新发布的Pixel手机。距离发布会召开已经过了一个月,该款手机仍未发售。 十月至十一月之间,全球Android
[手机便携]
安卓手机短期内不会因为Face ID放弃指纹识别
从指纹识别技术在智能手机的发展情况来观察,生物辨识技术的确提升消费者在使用上的安全性和便利性,带来更好的用户经验,因此生物辨识技术在智能手机的渗透率有望持续上升。 但随着手机吹起全屏幕风潮,各相关手机产业链都受到不小冲击,生物辨识技术更是不在话下。 以指纹识别而言,因为全屏幕智能手机的正面空间已不能满足消费者期望的前置指纹辨识,故指纹识别阵营近年来皆以显示区内指纹识别技术为研发重点方向。 事实上,新思、高通与汇顶等指纹识别厂商,早在2016年开始就陆续发布其显示区内的指纹识别解决方案,来自瑞典的生物辨识龙头Fingerprint Cards, 近期也同样发布不局限于AMOLED或LCD屏幕技术的显示区内指纹识别解决方案。 虽然目前
[半导体设计/制造]
Android One手机很快就能吃到棒棒糖
Android One手机 新浪手机讯 11月20日上午消息,据《印度日报》报道,来自印度本土手机制造商Spice的消息称,旗下的Android One手机将在2015年1月升级到最新的Android 5.0系统。   Spice公司CEO进一步透露,Android 5.0 Lollipop(棒棒糖)更新最早的可能将于12月中旬就能准备就绪。由于目前所有的Android One设备都采用了统一的硬件标准,系统更新将由谷歌统一部署,预计在发布更新时,所有的Android One手机都将能及时获得更新推送。   Android One是刚刚今年推出了一个廉价智能手机平台,可以帮助手机制造商简单快速的打造低成本智能手机。首
[手机便携]
甲骨文:Android藉侵权获取420亿美元营收
     针对Android侵害JAVA API授权问题,甲骨文指出Android平台手机目前在全球地区已经有高达30亿台启用量,而Google从中获取高达420亿美元营收,并且取得至少210亿美元的净利,造成甲骨文极大损失且对发展机会受影响,因此向Google提出总计93亿美元求偿金额。 根据甲骨文委任律师Peter Bicks表示,Google在Android侵权使用甲骨文旗下JAVA API内容,藉此在全球启用数量达30亿台的Android平台手机获取高达420亿美元营收,获取净利至少达210亿美元。不过,Google委任律师Robert Van Nest则说明,Google仅在Android平台采用以开放架构设
[手机便携]
手机OTG设备究竟如何选择?
   目前,Android旗舰智能手机都具有OTG功能,部分用户也较为看重此项功能, 毕竟让手机具有扩展性使用起来更加方便,除此之外在娱乐以及商务功能方面也有着其独特优势。今天,我们不从如何使用的角度去看待OTG功能,而是看看当今 市面上有哪些常见的OTG产品,看看怎么选择更加超值。 20元"狂揍"100元 手机OTG究竟如何选?   我们还是先从京东来看看OTG相关产品,在京东搜索页面输入"OTG"进行搜索之后,我们可以看到其OTG设备主要分为OTG数据线、OTG U盘和 OTG 读卡器三种,其中产品最多的当属OTG数据线,其价格也从几元到十几元不等,而OTG U盘相比于同存储空间的U盘要贵,闪迪 16GB OTG U盘的在6
[手机便携]
安卓新功能:可从搜索引擎直接安装应用
     据科技网站Android Police报道,谷歌正在安卓平台测试一项新功能,未来用户无需登录Google Play,可直接通过搜索引擎安装应用。 安卓可从搜索引擎直接安装应用(图片来自engadget)     据悉,该功能会在搜索页面直接生成一个请求窗口和安装按钮,方便用户快速进行应用安装,不过眼下这项功能恐怕是谷歌搜索应用专属。   在此之前,谷歌曾尝试用跳转链接的方法减少用户的操作步骤,而这种脱离应用商店进行应用安装的方式绝对是第一次,未来谷歌很有可能将该功能推向Chrome和Safari等浏览器。   对于该报道,谷歌并没有做出官方回应,如果该功能成真,即使只限于安卓平台,对谷歌搜索也是个重大利好,
[手机便携]
2018年Android手机最令人期待的八大功能
  据外媒报道,虽然现在是3月份,但是2018年的手机发布季已经开始。在全球最大的智能手机展览会——移动世界大会(Mobile World Congress)上,数十款新智能手机争相亮相,其中最引人注目的就是三星Galaxy S9。下面就随网络通信小编一起来了解一下相关内容吧。   此外,谷歌目前正在发布下一个 Android 版本的开发者预览版,目前代号为 Android  P。通过这些行动,我们开始了解到2018年智能手机的新趋势,下面就是 Android 手机最值得期盼八大功能:   2018年Android手机最令人期待的八大功能   本月刚刚上市的Galaxy S9推出许多新功能,很快大多数Android手机也将跟
[网络通信]
ARCHOS推出全新Internet Media Tablet
      2009 年 2 月 13 日,ARCHOS 宣布将推出一款完美结合移动电话功能的超薄Internet Media Tablet (IMT),将 Google 的 Android 语音通信协议栈与 ARCHOS 的多媒体框架组合在一起,不仅进一步壮大了其产品阵营,还能为消费者提供一种可获得精彩内容及与他人互通互连的全新方式。此款 IMT 还高度集成了德州仪器 (TI) 的 OMAP™ 3 平台。       Android 可为 IMT 提供高端智能电话具备的所有功能,而且其快速开发应用环境也可使 IMT 受益匪浅,同时 ARCHOS 业经验证的丰富多媒体框架还将带来最精彩的娱乐与Web 浏览体验。      
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved