基于Android的即时聊天系统的设计毕业论文
2020-04-09 15:31:56
摘 要
随着无线网络和移动网络的发展,生活中移动通讯已经逐渐成为主流,而其中的网络通信相比电话通讯更加的受到大家欢迎,网络通讯已经融入到了日常生活的方方面面,而因为手机QQ和微信等即时通讯软件的诞生与流行,即时通讯已经成为人们交流的一种重要工具。
论文主要通过分析XMPP即时通讯协议的原理、局域网的特性以及Android平台的基本工作原理通过采用C/S的软件架构,MVC的开发模式,再利用JAVA编程语言以及面向对象的程序设计思想,设计实现了常用的即时通讯功能,其中包括用户注册、登录、好友聊天等功能。由此实现了一个基于Android平台的即时通讯系统。
该系统是利用AndroidStudio作为开发系统,利用开源的Openfire服务器作为XMPP协议服务器,在Android客户端和Openfire服务器都采用自带的存储器来储存数据以实现数据持久化。
本论文的工作主要是对系统要实现的功能进行了分析,然后提出了整个系统的设计框架,指出系统开发的目标和步骤,确定系统的技术架构,再划分系统的不同的功能模块,针对不同的功能模块给出不同的设计流程图,在利用JAVA代码搭建好整个系统环境后在利用代码实现各个模块的功能,最后对界面进行优化。
关键字:即时通讯;XMPP协议;Android
Abstract
With the development of wireless networks and mobile networks, mobile communications in daily life have gradually become mainstream. Among them, network communications are more popular than telephone communications. With the birth and popularity of instant messaging software,such as QQ and WeChat etc. The Network communications have been integrated into all aspects of daily life, instant messaging has become an important tool for people to communicate.
The thesis mainly analyzes the principle of XMPP instant messaging protocol, the characteristics of Local Area Network and the basic working principle of Android platform. Through the use of C / S software architecture, MVC development model, and then use JAVA programming language and object-oriented programming ideas, we designed and implemented common instant messaging functions, including user registration, login, and chat. Thus realizes an instant messaging system based on the Android platform.
The system uses Android Studio as a development system, and uses an open source Openfire server as an XMPP protocol server. Both the Android client and the Openfire server use their own memory unit to store data for data persistence.
The work of this dissertation mainly analyzes the functions of the system, then proposes the design framework of the entire system, points out the goals and steps of the system development, determines the technical architecture of the system, and then divides the different functional modules of the system. The different functional modules give different design flow charts. After using JAVA code to build the entire system environment, using code to implement the functions of each module, and finally optimize the interface.
Key Words: Instant messaging;XMPP protocol;Android
目 录
第1章 绪论 1
1.1基于Android的即时聊天系统开发背景 1
1.2国内外研究现状 1
1.3研究的目的和意义 2
1.4论文的主要内容和组织结构 3
第2章 需求分析 4
2.1总体功能描述 4
2.2各功能模块的具体需求 5
2.2.1 登录模块 5
2.2.2 注册模块 6
2.2.3 好友管理模块 6
2.2.4 添加好友模块 6
2.2.5 消息交互模块 7
2.3 本章小结 7
第3章 系统设计 8
3.1 总体设计 8
3.2 服务器设计 8
3.3 客户端设计 9
3.3.1客户端总体设计概要 9
3.3.2 用户注册模块设计 10
3.3.3 用户登录模块设计 11
3.3.4 好友管理模块设计 12
3.3.5 添加好友模块设计 13
3.3.6 消息交互模块设计 14
3.4 本章小结 15
第4章 系统实现与测试 16
4.1 Openfire服务器实现 16
4.2 客户端实现 16
4.2.1 客户端整体架构实现 16
4.2.2 注册功能实现 17
4.2.3 登录功能实现 20
4.2.4 好友管理功能实现 22
4.2.5 添加好友功能实现 23
4.2.6 信息交互功能实现 25
4.3系统测试 27
4.4 本章小结 28
第5章 总结 29
参考文献 30
致谢 31
第1章 绪论
1.1基于Android的即时聊天系统开发背景
近年来随着现代的信息技术高速发展,4G移动通讯的技术已经十分的成熟,而且正在快速的向5G技术发展,于此同时,随着无线移动通讯的发展不断提高,信息的传输速率和传输质量都得到极大的提升,人们在日常生活中的对网络的体验得到极大的改善,相比以前人们的交流方式也发生了很大的改变。曾经出现的一些通讯手段不断的被淘汰,人们逐渐用软件通信来代替打电话发短信。如今随着手机QQ、微信等IM运用的流行使即时通信成为了当代人们最为喜爱的通讯方法,即时通讯系统的出现大幅度的提高了人们相互交流时信息传输的速度和质量,极大的满足了人与人之间相互交流的普遍需求,并且即时聊天系统在不断地改进下会越来越完善、功能也会越来越强大。
随着近几年网络与移动终端的迅速发展,即时通讯系统的功能也越来越多,它不仅仅是一个即时聊天系统,它在这个平台中还不断集合了交流、资讯、娱乐、办公协作和企业客户服务等功能。
在移动发展的推动下,互联网的发展趋势逐渐从PC端走向各种移动终端,随着终端设备的更新发展,用户也追求一种快速、便捷的用户体验,即时通讯在这一点上很好的比过了当时的e-mail通讯,更符合用户的需求。当今主要存在的移动终端系统有IOS、Android、WindowsPhone,然而在这三款主流的操作系统中,IOS与WindowsPhone的手机平台都具有封闭性,因此在其平台上的软件开发会受到一定的阻碍,而Android因为其开源免费的特性,受到大多开发者的热爱,所以它一经推出就得到了快速发展,很快的被广大用户所接受和认可。
1.2国内外研究现状
近几年,无论是在国内还是国外移动互联网发展的十分迅速,人们相互通讯的方式发生了巨大的变化,利用网络进行通讯交流已经成为人们日常生活中不可缺少的通信方式。世界上第一款通讯软件是国外的一款软件名叫“ICQ”,它打开了人们即时通讯的大门。在第一款软件产生后,其它的即时通讯软件也接踵而来,并且这些款即时通信软件都得到广泛的使用,国内外有很多经典的即时通讯软件,比如微信、QQ 、Skype、MSN,人们通过这些即时通讯软件带来的便利,试生活中的一些事情变得十分的简单方便,比如与远方的朋友聊天或在办公时相互传递实时信息。如今网络和移动设备越来越发达,人们在日常生活中可以更加轻松的使用即时聊天系统完成很多业务。
国外方面:国外方面主要是有由微软和苹果公司发布的MSN、Skype和iMessage,MSN是由微软自己发布的一款即时了聊天系统,它在PC端和手机端都有实现,MSN的通讯方式是基于短信的,而Skype是在2011年被微软收购的一款即时聊天软件,它是主打语音通讯的软件,iMessage则是由苹果公司发布的一款即时聊天软件,它可以进行文字、图片、视频等信息的传输,功能相对比较强大与完善。
国内方面:国内我们经常使用的大多都是由腾讯推出的QQ和微信了,QQ最开始是在PC端实现的,它是仿照国外的一款即时通信软件——“ICQ”,“ICQ”也是第一款即时通讯软件,QQ随着不断的发展QQ也能在移动设备中运行它不但可以发送语音视频还融合了许多其他功能,比如好友空间、邮箱、资讯等。近几年腾讯又推出一款主打与亲朋好友私密聊天的软件——“微信”,它是手机上的一款即时聊天系统,与手机QQ具有异曲同工之妙,因为QQ的庞大的用户基础,微信一推出就风靡全国,如今与QQ一起成为国内最火的俩个即时聊天软件。国内还有一款不怎么被大家了解的即时通讯软件——“Instlink”,它不被了解可能是因为它并不是一款商业软件,它是由西电CSI实验室自主研发的一款即时通信软件,由于它是利用XMPP协议进行通讯,所以它也是一款可以多移动平台进行通讯的软件。
1.3研究的目的和意义
人们在使用即时通讯系统已经有了一段较长的时间,因为它便捷的通讯功能可以加强网络用户之间的信息沟通,由此得到了快速的发展,成为了人们日常生活中一个不可缺少的部分,而随着如今移动终端的发展,手机由于其功能的强大和携带方便的特点已经越来越受到大家的喜爱,基本每个人都有一部手机而每部手机上都至少会有一个即时通讯软件比如QQ或微信,由此即时通讯系统的用户使用人数相当庞大,具有相当大的发展前景,在手机上开发即时通讯系统也是即时通讯系统发展的一大趋势。
即时通讯在发展中因为其传输媒介为互联网线路,因此它能极大程度上节约沟通双方的金济和时间的花费,但由于在发展的过程中出现了许多的通讯协议,但这些协议缺乏统一的标准大多数协议之间不能相互传输信息。但是XMPP协议很好的解决了这个问题,XMPP协议是在Jabber协议的基础上发展改进而来的,所以XMPP协议也符合了IETE规范,因此利用XMPP协议能够使在网络中各节点的连接更加的安全,使在编写系统实现信息传递功能时能更容易更规范[1]。
本论文是研究基于XMPP协议在Android上实现的即时聊天系统,在充分学习了解XMPP协议工作原理和Android的基本框架和活动,熟习Android开发步骤,开发模式后开发实现用户登录注册和用户交流功能。
1.4论文的主要内容和组织结构
本文的主要工作是研究Android系统框架、XMPP协议协议的工作原理、JAVA程序开发,设计实现一款能够实现用户登录、用户注册、添加好友、获得好友列表、发送简单文字表情信息、接收信息以及上线接收离线信息的功能。各章的主要内容如下:
第1章 绪论:介绍了系统开发的背景和实现目的意义及国内外相关技术的发展现状,最后描述了本论文的主要工作。
第2章 需求分析:首先对即时聊天系统所需的总体功能和总体流程进行讲解,再具体到各个模块的功能需求。
第3章 系统设计:根据第3章的需求分析来进行系统设计对整个系统采用了C/S架构,对客户端使用MVC开发模式来满足功能开发,并对各个功能模块设计了流程图,使编写代码时的逻辑更加清晰。
第4章 系统实现:在本章展现了服务器以及客户端各个功能实现后的界面图,贴出实现了各个功能模块的核心代码,并进行了讲解。
第5章 总结:对整个即时聊天系统的实现、系统功能做了一个整体的总结,并提出一些可以优化和扩展的地方。
第2章 需求分析
2.1总体功能描述
按照论文的要求,本论文主要是设计与实现一个在Android手机上的即时聊天的系统,在此系统中能实现新用户通过在此系统中注册一个账号,并且可以登录到主界面,在主界面我们可以看到即时的消息、好友分组,点击分组能看到分组下的好友,再点击好友后可以进入与好友的聊天界面,在聊天界面可以和在线好友进行即时聊天,聊天过程中自己发送的消息都显示在屏幕的右边,好友发来的消息都在屏幕的左端,如好友不在线则发送的消息会存储在Openfire服务器端,等到好友上线时离线消息就会推送给好友,在主界面还可以点击右上角的菜单项选择添加好友,进入添加好友的界面,在添加好友的界面里输入好友的账号名,默认分组为Friends,点击添加按钮后即会发送一个订阅信息给对面,对面选择同意后也会发一个订阅消息给我们,当我方也选择同意后双方就成为了好友,在Friends好友列表中刷新就可以出现好友名。在主界面添加好友的菜单选项的除了有添加好友还有一个获取所有群列表的选项,点击这个选项我们可以进入一个群聊天或者自己创建添加一个群聊天。根据以上基本功能描述,可以将这个即时聊天系统具体分为几个功能模块,其主要包括:用户注册、用户登录、获取好友列表、获取离线信息、添加好友、好友聊天及群聊天。具体如下图2.1所示。
用户
用户登录
用户注册
好友管理
添加好友
添加组群
信息交互
发送信息
接收信息
管理员
Web端管理
即时聊天系统
图2.1 系统总体用例图
以上为本论文设计的即时聊天系统的总体功能,而这些功能都是隐藏在系统里面的,因此还要通过设计界面来将这些功能给用户们显示出来,因此本系统功能将会通过以下几个界面来实现:登录界面、注册界面、主界面、添加好友界面、创建添加群界面、聊天界面,其中主界面中又包括消息界面和好友列表界面,各界面的顺序跳转图如下图2.2所示。
注册界面
主界面
添加好友界面
消息界面
好友列表界面
聊天界面
登录界面
图2.2 界面顺序图
2.2各功能模块的具体需求
2.2.1 登录模块
首先用户进入即时聊天系统中显示的第一个界面就是登录界面,在登录界面的最上方有一个“登录界面”的文本标题,标题下方有一个即时聊天系统的LOGO,类似于QQ的企鹅图标,在LOGO的下方都是单行的用户名与密码的文本输入框,每个文本输入框都得有提示表明是输入账号还是输入密码,在账号密码输入框下面得有一个登录的按钮来启动登录的活动,在登录界面的最下方有个“注册新用户”按钮转到注册界面,在登录界面中按了“登录”按钮后首先判断账号密码是否为空,若为空则弹出一条消息提示用户输入账号或密码,如果不为空则对账号密码进行验证,将输入的账号密码发送到Openfire服务器,在服务器端进行验证,若正确则提示“登录成功”进入主界面,错误则提示“登录失败”。
2.2.2 注册模块
用户在登录界面点击最下方的“注册新用户”按钮后就会进入到注册界面,注册界面与登录界面相似,在最顶端也有一个“注册界面”的文本标题,但在这标题的左边还有一个返回的箭头来取消注册回到登录界面,注册界面取消了登录界面的LOGO,也有单行的新账号密码文本输入框,每个文本框也有提示表明要输入的是账号还是密码,在账号密码输入文本框下是一个注册按钮,按下注册按钮来启动注册活动,注册活动开启后首先判断账号密码是否为空,为空则弹出一条消息提示用户输入账号或密码,若不为空则把注册的账号密码发送到服务器端验证,若账号已经存在了则会提示“注册失败”,若账号在服务器端不存在则在服务器端进行插入操作并提示“注册成功”。
2.2.3 好友管理模块
在用户登录后,进入的是主界面,并且获取离线信息和好友列表,好友管理模块的功能活动也就是在主界面实现的,主界面包括消息界面和好友列表界面,用户可以通过主界面最下方的俩个按键来在消息界面与好友列表界面进行切换,消息界面显示最近与好友聊天的消息,好友列表则显示好友用户名,在主界面无论是点击消息界面的消息列表还是点击好友列表界面的好友列表都能进入与之对应的好友聊天界面[2],并且在它们右上角都有一个菜单栏,点击可以进入添加好友界面或添加群界面。
2.2.4 添加好友模块
进入添加好友界面,最上方是“添加好友”的文本标题,在其左边是一个返回的箭头用来返回主界面,在添加好友界面有一个和登录界面一样的LOGO,在LOGO的下方是一行输入文本框用来输入要添加好友的用户名,输入文本框下面是一个“添加”按钮,按下“添加”按钮后进行添加活动,即将输入的用户名提交到服务器端进行查询,若存在此用户,则向其发送订阅消息,只有对方同意后并且向自己发送一个订阅消息并且自己也同意后添加好友活动才算全部结束,若不存在此用户则不发送消息,并且提示用户不存在。
2.2.5 消息交互模块
在此模块中包括发送消息与及接收消息,它们都是在聊天界面里实现的,在聊天界面中左端显示好友发来的信息,右端显示自己发送的消息,与单个好友进行聊天时最上方是好友的用户名,而进行多人聊天时聊天界面最上方是显示的群名。底部都是用户发送信息的输入框和发送按钮,在输入信息后点击发送按钮,首先判断输入是否为空,若为空则不发送,若不为空则将信息发送到服务器,并在聊天界面右端显示自己刚发送的内容,信息输入框也重新置空,信息到了服务器后服务器判断好友用户是否在线,在线即立马发送给好友,此时好友的聊天界面左端显示我方发来的消息,若好友不在线,则服务器会把消息保存在服务器端,等下次好友上线时把消息发送过去,在群聊时不会判断好友是否在线,直接将消息发送到群里,在聊天界面也能通过上滑或下滑来观看最近的聊天记录。
2.3 本章小结
本章首先在一个总体上描述了即时聊天系统应该有的功能,并给出了系统总体实例图和界面顺序图来更形象的表述客户端的主要功能模块以及各个模块之间的关联,又详细的介绍了即时聊天系统客户端的各个模块应该具有的功能以及应在哪个界面实现来更好的契合用户的使用习惯。
第3章 系统设计
3.1 总体设计
该系统总体上分为以下几个部分:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。