基于Android的网络聊天软件的设计与实现.doc
《基于Android的网络聊天软件的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Android的网络聊天软件的设计与实现.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、XXXX本科生毕业设计(论文)学院(系): XX 专 业: XX 学 生: XX 指导教师: XX 完成日期 年 月XXX本科生毕业设计(论文)基于Android的网络聊天软件的设计与实现Design and Implementation of the Network Chatting Softwarebased on the Android总 计:毕业设计(论文) 30页表 格: 4个图 片: 28个基于Android的网络聊天软件的设计与实现XXX 业 设 计(论文)基于Android的网络聊天软件的设计与实现Design and Implementation of the Network
2、 Chatting Softwarebased on the Android学 院(系): XX 专 业: XX 学 生 姓 名: XX 学 号: XX 指导教师(职称): XX 评 阅 教 师: XX 完 成 日 期: 南阳理工学院Nanyang Institute of Technology基于Android的聊天网络软件的设计与实现软件工程 XX摘 要 即时通信(Instant Messaging,IM)软件产生以来,这种通过网络与其它在线用户进行交流的方式,受到了个人公司以及行业的青睐。本文采用软件工程的管理和设计方法,对项目的需求进行了分析,完成了功能用例建模,使用Socket通信技
3、术结合TCP/IP协议原理实现了基于Android操作系统的聊天软件各个模块的分析设计,提出了系统的体系结构和整体架构设计方案,并予以实现,取得了较好的使用价值。关键词 Android;即时聊天;客户端/服务器模型;套接;Design and Implementation of the Network Chatting Softwarebased on the AndroidSoftware Engineering MajorXXAbstract: Since the invention of instant messaging (IM), such style which online us
4、ers communicate with others on the net, has become more and more welcomed by individual, company and software industry. This paper using the software engineering management and design methods to analyze the requirement of project, and implement the construction of function model. With the socket com
5、munication technology combined with the TCP/IP protocol finished all of the modules in chat software which runs in Android Operation. Propose and carry out the system architecture and overall architecture design, get a good value in use.Key words: Android; Instant Messaging; IM; C/S; Socket;目 录1 绪论1
6、1.1 项目背景11.2 研究的目的和意义11.3 国内外研究的现状11.4 论文的主要内容和组织结构21.5 本章小结22 关键技术介绍22.1 Android平台22.1.1 Android特征22.1.2 Android体系结构32.2 TCP/IP协议42.2.1 C/S模型42.2.2 TCP协议42.2.3 Android的MVC架构52.3 多线程技术62.4 运行环境62.5 本章小结73 需求分析73.1 系统的整体分析73.1.1 服务器端83.1.2 客户端83.2 可行性分析93.3 本章小结94 Android聊天软件系统设计94.1 系统实现原理104.2 服务器端
7、114.2.1 用户登录验证模块114.2.2 信息的转发模块114.2.3 刷新好友列表模块124.3 客户端124.3.1 用户登录模块124.3.2 用户交互模块124.3.3 用户注册模块134.3.4 用户设置模块134.3.5 用户注销模块144.4 Android聊天软件用户存储数据库的设计144.4.1 SQLite 简介144.4.2 数据库设计144.5 本章小结145 Android聊天软件的实现145.1 数据传输的实现145.2 服务器端的实现145.2.1 用户登录的实现145.2.2 用户退出145.2.3 更新好友列表145.3 客户端代码的实现145.4 客户
8、端UI实现145.4.1 半透明悬浮窗口的实现145.4.2 主界面左右滑动切换的实现145.5 本章小结146 系统演示与运行146.1 用户登录演示146.2 用户注册演示146.3 主界面演示146.4 聊天界面的演示146.5 本章小结14结束语14参考文献14致谢141 绪论1.1 项目背景即时通信(Instant Messaging, IM)是随着互联网的出现而新型通信手段,根据通讯软件的发展与分析,作为即时通信工具中最具有增长潜力之一的聊天软件,它为满足人们的需要,将其功能不断的完善,不但可以文字聊天和文件传输,还可以通过语音,视频来聊天,所以其发展十分迅速。而随着3G时代的来临
9、,其与移动客户终端的结合更受到了广泛的关注。本项目来自以下当前受到关注的启发。(1) 开放性移动设备Android平台目前受到了很多人的喜爱,并且在短短几年取代了诺基亚成为全球最热销的手机。(2) 随着手机成为人们日常生活的必需品,通过PC端进行即时聊天已经不能满足人们的需求,人们需求多终端的聊天即手机和PC的互通。本系统通过Socket通信实现Android手机间互通,Android手机和PC端的互通。1.2 研究的目的和意义即时通信软件作为一种便捷的网络通信技术已经越来越深入人心,应用范围从单纯的网络聊天工具变成工作生活所不可缺的信息交流平台。在互联网日益普及的今天,即时通信的用户规模也呈
10、现出快速增长的态势。现阶段,通过手持设备终端和即时通信软件挂钩,把以往的只能应用在PC机上的即时通信软件移植到移动设备中,让用户能够更方便地应用即时通信产品,是即时通信的发展趋势,也是IM系统软件市场发展的一个重要方向。1.3 国内外研究的现状1996年11月ICQ在全球发布,拉开了IM(Instant Messaging,即时通信)应用的序幕。就是这样一款小软件在短短数年时间里发展出了一个巨大的IM产业。时至今日,即时通信工具早已成为最热门的网络应用之一。国外除了ICQ外还有雅虎的雅虎通、微软的MSN、被eBay收购的Skype和Google的Gtalk都在国际上占有不小比重。相较于国内,腾
11、讯QQ无疑是国内即时通信市场的霸主,自从99年进入即时通讯领域并迅速占市场之后,其在国内用户数量始终高居榜首,即使面对微软MSN的强大攻势,腾讯QQ的市场占有率依然稳步增长,到现在占据市场70%以上份额。除了腾讯以外,国内的IM还有Lava,UC等软件。1.4 论文的主要内容和组织结构本文的研究工作是设计和实现一个Android平台的即时通信系统,实现移动设备与PC终端的互通。采用TCP/IP 协议,在Google推出的Android平台下进行研究工作。本文的研究内容主要有下面几方面:1.Android平台1上即时通信系统的架构:提出整个系统的合理架构以实现整个系统。2.TCP/IP协议:介绍
12、TCP/IP协议的内容并对协议进行解析;3.移动即时通信系统的实现:根据提出的系统架构,并阐述本移动即时通信系统的设计和具体实现,最终对系统进行演示和运行。本文在第二章介绍项目所用到的基本知识,对Android平台、TCP/IP协议以及MVC架构进行介绍,讨论在Android平台下程序的开发以及开发所需的环境。然后在第三章根据项目具体要求得出需求分析,依照画出的用例模型将系统分为客户端和服务器端。在第四章中详细的阐述的具体的功能的流程和系统实现的原理。第五章介绍了一些重要功能实现的代码及解释。第六章为程序的演示和运行。1.5 本章小结本章主要介绍了项目的背景、研究的目的和意义以及国内外实时聊天
13、系统的研究和应用现状,同时列出来整篇文章的主要章节结构,为后续的部分介绍做出了提纲。2 关键技术介绍毕业设计是对四年学习内容的一个综合考验,因此将会涉及到多门课程的知识。结合本课题的研究内容,本章将会把毕业设计过程中所遇到的关键技术进行一个全方位的阐述。2.1 Android平台Android操作系统是由谷歌Google和开放手机联盟共同开发发展的移动设备操作系统,其最早的一个发布版本开始于2007年11月的Android 1.0 beta,并且已经发布了多个更新版本的Android操作系统。到2010年末数据显示,仅正式推出两年多操作系统的Android在市场占有率上已经超越称霸十年的诺基亚
14、Symbian系统。2012年2月,Android操作系统在全球智能手机操作系统的市场份额已达52.5%,成为全球第一大智能手机操作系统2。2.1.1 Android特征1.提供访问硬件的API函数,简化像摄像头、GPS等硬件的访问过程。2.具有自己的运行时和虚拟机。3.提供丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性。4.提供轻量级的进程间通讯机制Intent,使跨进程组件通信和发送系统级广播成为可能。5.提供了Service作为无用户界面,长时间后台运行的组件。6.支持高效、快速的数据存储方式 。 2.1.2 Android体系结构 采用
15、软件堆层的架构,共分为四层如下图2-13:Linux 内核 1.硬件和其他软件堆层之间的一个抽象隔离层。2.提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等。中间件层1.由函数库和Android运行时构成。应用程序框架1.Activity Manager,管理应用程序的生命周期。2.Windows Manager,启动应用程序的窗体。3.Content Provider,共享私有数据,实现跨进程的数据访问。4.Package Manager,管理安装在Android系统内的应用程序。图2-1 Android的体系结构图5.Teleghony Manager,管理与拨打和接听电话的相
16、关功能。6.Resource Manager,允许应用程序使用非代码资源。7.Location Manager,管理与地图相关的服务功能。8.Notification Manager,允许应用程序在状态栏中显示提示信息。应用程序1.提供一系列的核心应用程序。2.包括电子邮件客户端、浏览器、通讯录和日历等。 2.2 TCP/IP协议TCP协议是网络通信的基础核心协议,在Java中也专门提供了Socket的类库,抽象出了基于TCP协议通信的常用方法:TCP协议与三次握手。本节在讲述TCP协议流程前,先来要对一些概念进行说明。2.2.1 C/S模型在网络连接模式中,除了等网外,还有一种形式的网络,即
17、客户机/服务器网络。在该模型中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需的网络资源,而服务器为客户机提供网络必须的资源。通过C/S模型可以从分利用两端硬件环境的优势,将任务合理分配到客户端和服务器端来实现,所以C/S模式具有以下几个优点:(1)因为在客户端上有一套完整的系统软件,具有很强的交互性,系统工作人员在运用系统时可以获得出错提示、在线帮助等较强功能;(2)由于C/S模式是配对的点对点的结构模式,因此多采用局域网的协议,并且通常是学校内部固定的从事学生学籍管理工作的用户群,所以安全性较高;(3)因为C/S模式只有两层逻辑结构,因此网络通讯量低,传输速度快,占用网
18、络资源少。随着Android手机性能的不断提升,使用C/S架构将一些需要较长时间处理的功能放置到客户端。使用户得到更好的网络传输,提升用户体验。2.2.2 TCP协议为了实现客户端同服务器端的通信,客户端首先发送一个“SYN”数据包。如果服务器收到SYN标记,它将发回一个“SYN+ACK”数据包。接着,客户端为了表示收到了这个SYN+ACK信息,会向服务器发送一个最终确认信息(ACK包)。这种SYN,SYN+ACK,ACK的步骤被称为TCP连接建立时的“三次握手”,在这之后,连接就建立起来了,这个连接将一直保持活动状态,直到超时或者任何一方发出一个FIN(结束)信号。这种通信模式也叫客户端/服
19、务器(C/S)模式 如下图2-2 TCP的三次握手。由此可见,通过客户端和服务器的“三次握手”,双方可以建立畅通的通信信道,在此信道上双方互相传输数据。图2-2 TCP的三次握手由于TCP/IP协议能够保证数据的安全传输和正确到达目标主机,本文所涉及到聊天系统采用TCP/IP协议,从而能够实现更加精确即时的消息发送和接受。2.2.3 Android的MVC架构在系统客户端中,采用MVC模式的设计思想,提高了程序的模块化程度。在本系统客户端中,结构图如下:图2-3Android MVC架构视图层(View)视图提供界面功能显示的机制,主要是用户数据的输入界面和对模型数据的显示功能,同时也包括信息
20、的提示功能。这方面主要是引入了Xml配置文件其中包括样式布局文件(Style)、动画效果布局文件(anim文件夹下)、图片布局文件(drawable文件夹下)。控制层(Control)主要负责对整个系统的流程进行调度,管理用户界面的逻辑流程,以及用户交互如何影响数据模型和数据模型如何影响用户交互过程这些东西都是有Android中的Activity完成的,在Android开发中,其配置文件AndroidManifest.xml扮演控制器的角色,文件中对各种组件视图进行相应的配置,以供模型在改变时对视图的调用。模型层(Model)主要对数据库的增、删、改、查等操作。同时包含了信息的接受,发送,请求
21、的提交。具体到在程序中是通过Service实现数据的发送,接受。当一个Activity启动后动态的调用bindService函数将其与Service绑定,关于这一块后面会详细解释。2.3 多线程技术多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效率和性能之间做一个权衡的时候。恰当的使用多线程可以极大的提高系统性能。使用多线程的好处有以下几点:(1)使用线程可以把占据长时间的程序中的任务放到后台去处理;(2)用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度;(3)程序的运行速度可能加快;(4)在一些等待的任务实现上如用户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 网络 聊天 软件 设计 实现
限制150内