基于Android平台和Linux服务器的在校同学及时通信App毕业论文
2021-06-07 21:34:48
摘 要
随着移动通信的发展和智能终端的成熟,即时通信越来越便捷。因此,本文搭建了基于Linux平台的服务器,开发了基于XMPP协议的Android平台即时通信软件,实现端到端的即时通信。
在系统开发中,通信协议是开源的XMPP协议。整个系统采用C/S架构,其中Server端是在Liunx服务器上部署Openfire服务器,实现通信;客户端结合Android平台和Smack类库来开发移动终端的即时通信软件。数据库方面,使用Android自带的SQLite数据库。整体实现了端到端的即时通信系统。
系统实现了用户之间的即时通信,通过在智能终端上的客户端注册账号,并登录服务器;在软件上添加好友,和好友聊天;同时应用端数据库存储用户相关信息,显示用户联系人和聊天信息。由于基于开源的协议和类库,系统拥有良好的可扩展性,同时还能兼容其它使用相同协议的应用,打通了即时通信协议之间的封闭性。
关键词:即时通信;XMPP;Android;Linux
Abstract
Instant Messaging (IM) has been widely used in Communication. With the development of smart terminal and mobile communication, Instant Messaging is becoming more and more convenient. The system is aimed to develop an IM application, which is based on XMPP protocol and Android platform, and deploy a Linux-based server to build an end-to-end IM system.
The system uses the open source protocol XMPP, and adopts the C/S framework. The server is an Openfire server which is on the Linux system. The client combines Android platform with Smack to develop an application. The database is SQLite which comes with Android.
This system can provide communication between the clients. The user can register on the application, use the account the logon the server, and add friends then send instant message to friends. Besides, the client storage user data and provides information of roster and history messages. Due to the open source protocol and framework, the system has a strong ability of extensions to extend more functions and can share the data with other system which use the same protocol.
Key words: Instant Message; XMPP; Android; Linux
目 录
第1章 绪论 1
1.1 即时通信发展背景 1
1.2 研究现状 1
1.3 研究意义 2
1.4 论文结构 3
第2章 应用开发理论基础 4
2.1 安卓开发理论基础 4
2.1.1 安卓系统的特点 4
2.1.2 安卓开发环境 4
2.1.3 安卓项目结构 5
2.2 XMPP协议理论基础 5
2.2.1 XMPP协议特点 5
2.2.2 XMPP协议网路架构 6
2.2.3 XMPP服务器 6
2.2.4 XMPP客户端 6
第3章 即时通信系统设计 8
3.1 Linux服务器设计 8
3.2 客户端设计 9
3.2.1 用户登录界面 10
3.2.2 用户注册模块 11
3.2.3 主界面模块 12
3.2.4 聊天信息模块和联系人模块 13
3.2.5 账户信息模块 13
3.2.6 聊天模块 13
3.3 系统客户端数据库设计 13
第4章 即时通信系统功能实现 15
4.1 即时通信系统Linux服务器实现 15
4.1.1 Openfire源码编译 15
4.1.2 配置Openfire服务器 16
4.2 即时通信系统客户端实现 17
4.2.1 登陆模块的实现 17
4.2.2 用户注册模块的实现 19
4.2.3 应用程序的主界面 20
4.2.4 聊天模块的实现 23
4.2.5 其他模块的实现 25
4.3 即时通信系统客户端数据库实现 26
4.3.1 SharedPreferences存储 26
4.3.2 SQLite数据库实现 26
第5章 总结 30
5.1 总结 30
5.2 展望 31
参考文献 32
附 录 33
致 谢 47
第1章 绪论
1.1 即时通信发展背景
即时通信(IM)推出之后,已经大量应用到了人们通信的各个方面,经过多年发展,该领域出现了许许多多的IM应用,在国外,有美国的Facebook和Twitter,微软的MSN,雅虎的Yahoo通等;国内市场主要以腾讯公司旗下的应用为主[1]。
伴随通信技术的快速发展,移动通信已经过渡到第四代,4G已经是手机厂商发行新机的主流配置;得益于此,iPhone等智能手机问世以后,多点触控、视网膜屏幕、高性能处理器等技术成就了今天两大智能手机阵营:Android和IOS,由此掀起了移动化的浪潮。
在这股浪潮中,即时通讯的功能愈加完善;众多的即时通信应用都具备了像发送文件、邮件系统、视频通信、语音信息、论坛主页等功能[2];其中,功能最完善的属腾讯的QQ,自从QQ移动化以来,用户活跃数量明显增加,实现了用户从PC端到移动端的转移;同时,腾讯公司推出另一款即时通讯软件微信,在短短几年内实现了破亿的用户量,成为腾迅在移动互联网时代的核心产品。与此同时,小米公司的米聊,日本的Line,欧美的What’s App等也占据一定的国内市场。
到2011年,国内互联网情况第29次调查显示显示IM用户数量达4.1亿之多,同比增长80.9%[3];如此快速的增长源于移动通信和智能手机导致IM应用的庞大用户量;到2015年6月,第29次调查统计报告显示,这一比例已经达到90.8%[4]。
1.2 研究现状
1) 即时通信协议比较