# 基于Android的网络聊天软件的设计与实现
# 摘 要
即时通信(Instant Messaging,IM)软件产生以来,这种通过网络与其它在线用户进行交流的方式,受到了个人公司以及行业的青睐。本文采用软件工程的管理和设计方法,对项目的需求进行了分析,完成了功能用例建模,使用Socket通信技术结合TCP/IP协议原理实现了基于Android操作系统的聊天软件各个模块的分析设计,提出了系统的体系结构和整体架构设计方案,并予以实现,取得了较好的使用价值。
**关键词**:Android;即时聊天;客户端/服务器模型;套接;
# Abstract
Since the invention of instant messaging (IM), such style which online users 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 communication 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.1 项目背景
即时通信(Instant Messaging, IM)是随着互联网的出现而新型通信手段,根据通讯软件的发展与分析,作为即时通信工具中最具有增长潜力之一的聊天软件,它为满足人们的需要,将其功能不断的完善,不但可以文字聊天和文件传输,还可以通过语音,视频来聊天,所以其发展十分迅速。而随着3G时代的来临,其与移动客户终端的结合更受到了广泛的关注。本项目来自以下当前受到关注的启发。
- 开放性移动设备Android平台目前受到了很多人的喜爱,并且在短短几年取代了诺基亚成为全球最热销的手机
- 随着手机成为人们日常生活的必需品,通过PC端进行即时聊天已经不能满足人们的需求,人们需求多终端的聊天即手机和PC的互通
本系统通过Socket通信实现Android手机间互通,Android手机和PC端的互通。
## 1.2 研究的目的和意义
即时通信软件作为一种便捷的网络通信技术已经越来越深入人心,应用范围从单纯的网络聊天工具变成工作生活所不可缺的信息交流平台。在互联网日益普及的今天,即时通信的用户规模也呈现出快速增长的态势。
现阶段,通过手持设备终端和即时通信软件挂钩,把以往的只能应用在PC机上的即时通信软件移植到移动设备中,让用户能够更方便地应用即时通信产品,是即时通信的发展趋势,也是IM系统软件市场发展的一个重要方向。
## 1.3 国内外研究的现状
1996年11月ICQ在全球发布,拉开了IM(Instant Messaging,即时通信)应用的序幕。就是这样一款小软件在短短数年时间里发展出了一个巨大的IM产业。
时至今日,即时通信工具早已成为最热门的网络应用之一。国外除了ICQ外还有雅虎的雅虎通、微软的MSN、被eBay收购的Skype和Google的Gtalk都在国际上占有不小比重。
相较于国内,腾讯QQ无疑是国内即时通信市场的霸主,自从99年进入即时通讯领域并迅速占市场之后,其在国内用户数量始终高居榜首,即使面对微软MSN的强大攻势,腾讯QQ的市场占有率依然稳步增长,到现在占据市场70%以上份额。除了腾讯以外,国内的IM还有Lava,UC等软件。
## 1.4 论文的主要内容和组织结构
本文的研究工作是设计和实现一个Android平台的即时通信系统,实现移动设备与PC终端的互通。采用TCP/IP 协议,在Google推出的Android平台下进行研究工作。本文的研究内容主要有下面几方面:
- Android平台[1]上即时通信系统的架构:提出整个系统的合理架构以实现整个系统
- TCP/IP协议:介绍TCP/IP协议的内容并对协议进行解析
- 移动即时通信系统的实现:根据提出的系统架构,并阐述本移动即时通信系统的设计和具体实现,最终对系统进行演示和运行
本文在第二章介绍项目所用到的基本知识,对Android平台、TCP/IP协议以及MVC架构进行介绍,讨论在Android平台下程序的开发以及开发所需的环境。
然后在第三章根据项目具体要求得出需求分析,依照画出的用例模型将系统分为客户端和服务器端。在第四章中详细的阐述的具体的功能的流程和系统实现的原理。
第五章介绍了一些重要功能实现的代码及解释。
第六章为程序的演示和运行。
## 1.5 本章小结
本章主要介绍了项目的背景、研究的目的和意义以及国内外实时聊天系统的研究和应用现状,同时列出来整篇文章的主要章节结构,为后续的部分介绍做出了提纲。
# 2 关键技术介绍
毕业设计是对四年学习内容的一个综合考验,因此将会涉及到多门课程的知识。结合本课题的研究内容,本章将会把毕业设计过程中所遇到的关键技术进行一个全方位的阐述。
## 2.1 Android平台
Android操作系统是由谷歌Google和开放手机联盟共同开发发展的移动设备操作系统,其最早的一个发布版本开始于2007年11月的Android 1.0 beta,并且已经发布了多个更新版本的Android操作系统。
到2010年末数据显示,仅正式推出两年多操作系统的Android在市场占有率上已经超越称霸十年的诺基亚Symbian系统。2012年2月,Android操作系统在全球智能手机操作系统的市场份额已达52.5%,成为全球第一大智能手机操作系统[2]。
### 2.1.1 Android特征
- 提供访问硬件的API函数,简化像摄像头、GPS等硬件的访问过程
- 具有自己的运行时和虚拟机
- 提供丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性
- 提供轻量级的进程间通讯机制Intent,使跨进程组件通信和发送系统级广播成为可能
- 提供了Service作为无用户界面,长时间后台运行的组件
- 支持高效、快速的数据存储方式
### 2.1.2 Android体系结构
采用软件堆层的架构,共分为四层如下图2-1[3]:
- Linux 内核
- 硬件和其他软件堆层之间的一个抽象隔离层
- 提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等
- 中间件层
- 由函数库和Android运行时构成
- 应用程序框架
- Activity Manager,管理应用程序的生命周期
- Windows Manager,启动应用程序的窗体
- Content Provider,共享私有数据,实现跨进程的数据访问
- Package Manager,管理安装在Android系统内的应用程序
- Teleghony Manager,管理与拨打和接听电话的相关功能
- Resource Manager,允许应用程序使用非代码资源
- Location Manager,管理与地图相关的服务功能
- Notification Manager,允许应用程序在状态栏中显示提示信息
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8dc6a67612e8fabf255d335251b862c5.writebug)
- 应用程序
- 提供一系列的核心应用程序
- 包括电子邮件客户端、浏览器、通讯录和日历等
## 2.2 TCP/IP协议
TCP协议是网络通信的基础核心协议,在Java中也专门提供了Socket的类库,抽象出了基于TCP协议通信的常用方法:TCP协议与三次握手。本节在讲述TCP协议流程前,先来要对一些概念进行说明。
### 2.2.1 C/S模型
在网络连接模式中,除了等网外,还有一种形式的网络,即客户机/服务器网络。在该模型中,服务器是网络的
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_基于Android的网络聊天软件的设计与实现_源码打包 (376个子文件)
proguard.cfg 1KB
UserDaoImpl.class 8KB
InputThread.class 7KB
ChatDaoImpl.class 6KB
GroupChat.class 5KB
AddUserDaoImpl.class 4KB
AddUser.class 4KB
User.class 3KB
Server.class 3KB
OutputThreadMap.class 2KB
UserLogin.class 2KB
DButil.class 2KB
OutputThread.class 2KB
ChatPersonnel.class 2KB
TranObject.class 2KB
Test.class 2KB
Groupchat.class 2KB
TranObjectType.class 1KB
Server$SocketTask.class 1KB
HttpUtil.class 1KB
MyDate.class 896B
TextMessage.class 747B
ChatDao.class 602B
UserDaoFactory.class 552B
Constants.class 549B
UserDao.class 488B
AddUserDao.class 398B
.classpath 2KB
.classpath 466B
org.eclipse.wst.common.component 472B
org.eclipse.wst.jsdt.ui.superType.container 49B
论文.doc 766KB
开题报告.doc 49KB
f9.gif 2KB
f9.gif 2KB
f9.gif 2KB
f4.gif 2KB
f4.gif 2KB
f4.gif 2KB
f7.gif 2KB
f7.gif 2KB
f7.gif 2KB
f2.gif 2KB
f2.gif 2KB
f2.gif 2KB
f6.gif 2KB
f6.gif 2KB
f6.gif 2KB
f3.gif 2KB
f3.gif 2KB
f3.gif 2KB
f8.gif 2KB
f8.gif 2KB
f8.gif 2KB
f5.gif 2KB
f5.gif 2KB
f5.gif 2KB
f1.gif 1KB
f1.gif 1KB
f1.gif 1KB
hibernate3.jar 3.97MB
ecj-3.7.2.jar 1.67MB
aspectjweaver.jar 1.47MB
catalina.jar 1.19MB
freemarker-2.3.19.jar 909KB
spring-core-3.2.5.RELEASE.jar 850KB
spring-context-3.2.5.RELEASE.jar 845KB
mysql-connector-java-5.1.25-bin.jar 829KB
mysql-connector-java-5.1.21.jar 809KB
struts2-core-2.3.15.2.jar 784KB
tomcat-coyote.jar 754KB
xwork-core-2.3.15.2.jar 626KB
spring-webmvc-3.2.5.RELEASE.jar 622KB
javassist-3.12.0.GA.jar 618KB
spring-web-3.2.5.RELEASE.jar 613KB
spring-beans-3.2.5.RELEASE.jar 596KB
c3p0-0.9.1.jar 594KB
sqljdbc4.jar 571KB
commons-collections-3.2.1.jar 562KB
jasper.jar 515KB
standard.jar 503KB
log4j-1.2.16.jar 470KB
spring-test-3.2.5.RELEASE.jar 447KB
antlr-2.7.6.jar 433KB
spring-jdbc-3.2.5.RELEASE.jar 396KB
spring-orm-3.2.5.RELEASE.jar 376KB
android-support-v4.jar 341KB
spring-aop-3.2.5.RELEASE.jar 328KB
commons-lang3-3.1.jar 308KB
dom4j-1.6.1.jar 307KB
commons-lang-2.5.jar 273KB
cglib-2.2.jar 272KB
tomcat-dbcp.jar 248KB
spring-tx-3.2.5.RELEASE.jar 237KB
catalina-tribes.jar 232KB
commons-beanutils-1.8.2.jar 226KB
ognl-3.0.6.jar 223KB
spring-jms-3.2.5.RELEASE.jar 201KB
spring-expression-3.2.5.RELEASE.jar 192KB
commons-beanutils.jar 184KB
共 376 条
- 1
- 2
- 3
- 4
资源评论
- m0_453581512023-02-08资源有一定的参考价值,与资源描述一致,很实用,能够借鉴的部分挺多的,值得下载。
工具盒子
- 粉丝: 58
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功