新闻中心

EEPW首页>嵌入式系统>设计应用> 基于Android平台的即时通信系统客户端设计

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

作者: 时间:2015-03-11 来源:网络 收藏

  2. 4 实现主要功能

本文引用地址://m.amcfsurvey.com/article/270827.htm

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

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

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

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

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

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

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

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

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

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

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

  3 主要模块设计

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

  ( 1) 解析模块。系统采用平台上提供的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 程序, 上层还包含基于基本库中的Binder 机制的进程间通讯等内容。

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

  4 结语

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

linux相关文章:linux教程


数字通信相关文章:数字通信原理


通信相关文章:通信原理



上一页 1 2 下一页

关键词:Android即时通信

评论


相关推荐

技术专区

关闭