基于安卓的即时通信系统设计与开发

 2022-01-17 11:01

论文总字数:19918字

目 录

1 绪论 3

1.1 研究背景及现状 3

1.2 开发目的及意义 4

2 核心技术介绍 4

2.1 Android平台简介 4

2.2 系统C/S结构简介 5

2.3 JAVA语言简介 5

2.4 XMPP协议简介 6

2.5 TCP协议简介 8

2.6 面部检测技术 10

3 系统分析 12

3.1 需求分析 12

3.2 可行性分析 12

3.2.1 技术可行性 12

3.2.2 经济可行性 13

3.2.3 运行可行性 13

3.3 系统要求 13

4 系统设计 13

4.1 系统概要设计 13

4.2 系统详细设计 14

4.2.1 C/L模块 14

4.2.2 IM模块 14

4.2.3 CC模块 14

4.2.4 VC模块 15

4.2.5 VdC模块 15

4.3 数据库设计 15

4.3.1 数据库需求分析 15

4.3.2 概念结构设计 15

4.3.3 逻辑结构设计 16

5 系统实现 16

5.1 登录和设置界面 16

5.2 好友管理模块实现 19

5.3 群组聊天模块实现 20

5.4 语音聊天及文件传输的实现 23

5.5 视频聊天模块实现 25

6 总结与展望 27

参考文献 28

致谢 29

基于安卓的即时通信系统设计与开发

朱 晶

,China

Abstract:With the rapid development of Internet technology, people want to be see distant relatives thousands of miles away. Instant messaging software came into being. This paper is presented to design a Chat system that meets the needs of video chat. On this basis, Chat achieves text, voice and other functions at the same time. The design is based on Android development platform, through the Java language and related database design and operation. The mobile video chat system is designed and implemented. Through the real machine test, this paper found that the system is feasible, and easy to use, easy to start, with a larger market space. Further improved design will make the system a full-featured, simple operation of civilian products for the instant messaging system market.

Key words:Android, instant messaging, video chat system, Java language

绪论

研究背景及现状

伴随科学技术的不断发展,许多互联网技术也应运而生。移动视频聊天起源于互联网即时通讯的实现。即时通讯(Instant messaging,简称为IM)[1]是一种通过互联网提供实时文本传输的在线聊天。当每个用户选择完成想法并选择“发送”时,短消通常在双方之间双向传输。一些IM应用程序可以使用推送技术来提供实时文本,它们在组成时逐个传输消息。最早的IM系统可以追溯到ICQ的开发和实现。

ICQ是一个开源即时通讯计算机程序。ICQ是以色列Mirabilis公司在1996年首次发行。ICQ的名称来源于英语“我寻找你(I Seek You)”。ICQ所有权于1998年从Mirabilis转给AOL,并于2010年从AOL转至Mail.Ru集团。ICQ客户端应用程序及相关服务于1996年11月初发布。客户可以免费下载ICQ。用户注册一个帐号,并像电话号码一项被分配一个号码供其他人联系。ICQ是第一个独立的即时通讯器和第一个在线即时通讯服务,而实时聊天本身并不是互联网的新特性(IRC是当时最常见的平台),完全集中的概念专注于一对一对话的个人用户帐户的服务为即将到来的即时通讯服务(如AIM)设置蓝图,其影响力在现代社交媒体应用程序中被看到。在2001年ICQ达到高峰期,注册账户超过一个亿。2010年,ICQ被Mail.Ru收购时,日用户量4200万。自2013年起,ICQ月用户量1100万。

在国内,广为大家熟知的是腾讯QQ,俗称QQ。除了即时通讯,QQ还提供各种服务,包括在线社交游戏、音乐、购物、微博、电影,群聊和语音聊天。标志和吉祥物是穿着红色围巾的小企鹅。截至2016年6月底,QQ注册账号8.99亿个。截至2014年4月,超过2亿人同时在线使用QQ,达到峰值。

在视频聊天方面,国外的应用较为典型的是Skype[2]。Skype是一个即时通讯应用程序,提供在线短信和视频聊天服务。用户可以传送文本和视频消息,并且可以交换诸如图像、文本和视频的数字文档。Skype允许视频电话会议。截至2010年底,全球用户达到6.6亿。2012年2月,有三千四百万用户同时在线使用Skype。

QQ包含了太多的功能,尾大不掉,为了更利于人们在线交流沟通,腾讯公司推出了微信。它于2011年1月首发,是每月活跃用户最大的独立消息应用之一。2016年,微信拥有了8.64亿活跃用户。而其视频聊天功能也成为了该应用的最大亮点之一。

如今是物联网高速发展的时期。即时聊天系统也将成为其重要的组成部分。随着机器对机器通信和物联网部署的不断发展,不同平台之间的互操作性已经成为创建大型IoT框架的关键问题。语义技术通过共享常用词汇表提供了一种合适的互操作性方法,并且还实现了推断数据的可互操作表示。IoT测试提供商最近开始向其框架添加语义,允许创建语义传感器Web,该Web是当前Web的扩展,其中信息被给定明确的含义,使得机器对机器之间的通信和对象之间的交互 ,设备和人员。

这种技术的出现实际上是人类需求与技术的结合,类似于现有的互联网,将为科学和经济发展带来巨大的机会。随着无数发展机遇,这种发展带来的安全威胁是不能否认的。实际上,周边设备到互联网的连接会使安全威胁的安全威胁远远大于目前的互联网安全风险。在物联网概念被广泛接受之前,应该研究一些有争议的问题,以便找到最佳解决方案并实现物联网实现。主要值得注意的是创建独立运行的智能设备,具有与邻居进行适应,通信和交换数据的能力,同时绝对保护信息和隐私。除了IoT关于其独特特征的想法,在网络概念中也带来了新的问题。实际上,实现IoT思想的设备被识别为能量消耗和处理中的低速率等特性。因此,提出的方法需要特别注意资源效率以及可扩展性问题。现在有几个组织和研究中心努力开发理想的物联网基础设施的解决方案。但是鉴于物联网刚刚处于生活各个领域的发展道路的开端,所以建立一个普遍接受的架构。其中,发展好即时通讯也是重要的组成部分。

不难看出,新的互联网技术正在以全新的面貌革新世界,科技的进步使得人们能够使用更新更方便的交流方式来彼此沟通。研究这一课题对于进一步了解高新科技有长足的意义。

开发目的及意义

开发该系统的目的在于了解在线聊天系统的工作流程和原理。互联网实时聊天应用不仅改变了我们的日常生活,甚至本身已经成为生活的一部分。不同种类的社交应用可以提供给用户不同的社交体验,并让用户在社交中认识不同的人和了解不同的事。当前社交应用在全球范围内,在沟通交流、关注新闻热点及兴趣、获取和分享知识等方面,具有重要的应用价值。移动视频聊天工具还是家人沟通情感、同事交流工作、领导进行会议的重要工具。

不仅如此,即时聊天软件在当今社会还起到了举足轻重的沟通作用。在“互联网 ”时代,不仅是人与人之间需要进行即时通信,物与物之间,人与物之间都需要进行即时通信和数据共享,这也就是所谓的“物联网(Internet of Things,简称IoTs)”[3]的概念。加之人与人之间的通信,便成为了泛在网(ubiquitous network)[4]

核心技术介绍

Android平台简介

Android平台[5]是基于开源Apache许可证并基于Linux内核版本2.6发布的。安卓开发自开放手机联盟。该联盟是谷歌公司成立的。戴尔,HTC,英特尔,Motorola,高通,LG,三星, T-Mobile和Nvidia等厂商都参与其中。

第一款安卓的手机发布之后,现如今安卓的设备可以说是无处不在,包括一些智能终端以及平板甚至电脑等设备。针对安卓设备的发展,研究人员不仅从其外观角度出发不断开拓创新,更是从内部的系统结构上面进行了有效的革新。如今的安卓设备可以说功能齐全,应用广泛。利用好、发展好安卓客户端应用程序可以说对于互联网发展起到了至关重要的作用。同时也是对互联网发展进一步移动化、便捷化的必然途径。安卓的操作系统为程序员提供了非常丰富的功能。同时,对于各类图像的支持、对于音频文件和视频文件都有较好的支持。

要开发安卓,可以使用Windows、Linux或Mac。安卓应用程序使用Java,Java类重新编译到Dalvik字节码并在Dalvik虚拟机上运作。 Dalvik专为Android设计,以减少电池消耗,并且与手机的内存和CPU功耗有限。(请注意,Android不支持J2ME。)安卓NDK库是给开发者创建本地库的。

最常用和推荐的编辑器是Eclipse与Android开发工具插件。插件提供了与模拟器集成的全功能开发环境。它提供调试功能,可让用户轻松安装Android平台的多个版本。

系统C/S结构简介

B/S模型是一种基于Web技术的信息管理系统平台[6]。最底下是浏览器软件,客户和服务器交互。凭借其新的在线功能,该模式已经通过业务系统和企业门户广泛传播,因为它简化了客户端开发和维护。然而,由于在这种开放模式的环境中暴露于互联网,其安全性也大大降低。相反,C/S模式具有相对点对点结构形式的更高的安全性,通常遵循局域网协议。与B/S逻辑三层结构相比,三层C/S模式可以减少网络流量并处理大量信息。

考虑到这种质量控制体系主要用于内部局域网,开发模式选择三层C/S模式。处理监控主站的数据请求时,该模型使客户端与数据库服务器之间的数据通信部分完全单独成为中间层,与服务器的数据连接正在使用“连接池”通过动态分配和开放数据连接来尽可能减少连接数。在中间层的帮助下,与两台C/S模式相比,数据连接数目和数据库服务器负载大大减轻,同时数据库维护及其事务处理更加灵活。

JAVA语言简介

Java是由Sun Microsystems发起的语言和平台[7]。 在本节中,我简要介绍了这种语言,并揭示了Java对于平台的意义。 为了满足各种需求,Sun将Java组织为三个主要版本:Java SE,Java EE和Java ME。

剩余内容已隐藏,请支付后下载全文,论文总字数:19918字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;