0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux操作系统的Android手机的即时通信系统客户端的解决方案介绍

电子设计 作者:电子设计 2018-11-22 08:00 次阅读

引言

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 操作系统上完成即时通信系统客户端的开发, 具有较大的发展、应用空间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 手机
    +关注

    关注

    35

    文章

    6845

    浏览量

    157347
  • Android
    +关注

    关注

    12

    文章

    3921

    浏览量

    127078
  • Linux
    +关注

    关注

    87

    文章

    11216

    浏览量

    208779
  • 通信系统
    +关注

    关注

    6

    文章

    1169

    浏览量

    53269
收藏 人收藏

    评论

    相关推荐

    Android平台手机防盗系统的安全解决方案

    Android是Google开发的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,被誉为第一个完整、
    发表于 07-23 14:42 2512次阅读
    <b class='flag-5'>Android</b>平台<b class='flag-5'>手机</b>防盗<b class='flag-5'>系统</b>的安全<b class='flag-5'>解决方案</b>

    手机对讲即时通系统

      手机对讲即时通系统    IP集群调度系统提供了手机手机
    发表于 07-28 22:22

    Android 操作系统-新手必知

    Android 操作系统介绍Android是Google于2007年11月05日宣布的基于Linux平台的开源
    发表于 11-18 11:23

    POS机的linux操作系统android系统区别!

    android系统操作起来比较灵活,关键现在主流手机都是 android系统。在shop1444
    发表于 01-03 11:21

    基于Android平台怎么为多种移动客户端提供即时通信服务?

    核心是基于开源的WebKit 引擎, 对基于HTML 的各种语言具有良好的支持。图像引擎使用基于openGLES1. 0 的三维图形库。本文的研究目的就是基于Android 平台, 提出一种能为多种移动客户端提供即时通信服务
    发表于 03-18 07:17

    即时通讯是怎么做到的?

    采用UDP协议,UDP协议是不可靠的传输协议,而在 IM客户端之间的直接通讯中,采用具备可靠传输能力的TCP协议。随着用户需求和技术环境的发展,目前主流的即时通系统倾向于在即时通
    发表于 01-21 10:41

    如何设计出基于Android操作系统的3G手机网络摄像机客户端软件?

    本文深入研究了MJPEG视频压缩算法,阐述了算法实现过程,并设计出基于Android操作系统的3G手机网络摄像机客户端软件。
    发表于 06-01 06:29

    基于嵌入式Linux的网络操作系统设计

    本文对嵌入式Linux 网络计算机的主要结构进行了分析,并给出了实现方法。主要设计和实现了网络计算机客户端操作系统和基于Linux 的RDP 客户端
    发表于 01-06 16:19 13次下载

    基于XMPP协议的Android即时通信系统设计

    即时通信通过互联网给人们提供了便捷的通信手段,针对手机覆盖区域和效果的不断提升,提出一种在流行的Android手机
    发表于 05-03 17:13 66次下载
    基于XMPP协议的<b class='flag-5'>Android</b><b class='flag-5'>即时通信系统</b>设计

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

    为解决在基于Linux 操作系统Android 手机平台上即时通信问题, 实现在系统
    发表于 10-11 16:47 4955次阅读
    基于<b class='flag-5'>Android</b>平台的<b class='flag-5'>即时通信</b><b class='flag-5'>系统</b><b class='flag-5'>客户端</b>设计

    Android的自主可控即时通信系统的设计与实现

    Android的自主可控即时通信系统的设计与实现
    发表于 08-31 10:26 3次下载
    <b class='flag-5'>Android</b>的自主可控<b class='flag-5'>即时通信</b><b class='flag-5'>系统</b>的设计与实现

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

    多种移动客户端提供即时通信服务系统客户端解决方案。 1 系统开发环境
    发表于 12-01 01:16 630次阅读
     基于<b class='flag-5'>Android</b>平台的<b class='flag-5'>即时通信</b><b class='flag-5'>系统</b><b class='flag-5'>客户端</b>设计

    基于Android的校园客户端系统设计

    当前各高校都提供统一的账号和密码登陆学校的各种系统,包括学校新闻、图书馆系统、教务系统和校园一卡通系统等。这些系统一般都分散在不同的子
    发表于 12-13 17:10 15次下载
    基于<b class='flag-5'>Android</b>的校园<b class='flag-5'>客户端</b><b class='flag-5'>系统</b>设计

    基于Android客户端和数据同步技术实现移动点餐系统的应用方案

    Android 前端等部分。客户端Android 系统智能手机具有前端处理与计算能力,而且通过无线网络访问WEB 服务器,如果需要数据访问
    的头像 发表于 06-26 17:30 4712次阅读
    基于<b class='flag-5'>Android</b><b class='flag-5'>客户端</b>和数据同步技术实现移动点餐<b class='flag-5'>系统</b>的应用<b class='flag-5'>方案</b>

    基于XMPP协议的Android即时通信系统设计

    电子发烧友网站提供《基于XMPP协议的Android即时通信系统设计.pdf》资料免费下载
    发表于 10-27 10:40 0次下载
    基于XMPP协议的<b class='flag-5'>Android</b><b class='flag-5'>即时通信系统</b>设计