摘要:在移动互联网高速发展的今天,智能手机已经离不开人们的生活,它们已经深入人们生活的各个领域。目前世面上有很多即时通讯软件,人们可以使用这种手机客户端,在任何时间,任何地点,进行沟通,通过这种方式解决了人与人之间的隔阂。但是由于某些企业出于数据的安全性,这种即时通讯系统无法满足他们的需求,因而他们需要开发自己的即时通讯系统,因此在这种特殊的需求下就衍生出了私有的即时通讯系统。
本论文的重点在于构建本地化、私有化的即时通讯系统。为了解决企业数据的安全问题,本论文使用XMPP协议作为通讯协议,使用开源的Openfire作为本地服务器并使用Android Studio搭载SDK 23开发Android客户端。其中包括登录功能模块、注册功能模块、会话列表功能模块、联系人列表功能模块、聊天功能模块、注销功能模块、添加好友功能模块、Service功能模块。经过部署测试,该系统可以满足发送接收消息,发送接收表情,同时能够保证数据的本地化和私有化。在具体开发过程中将使用Asamck类库对XMPP协议进行封装,从而降低了程序的耦合性,提高了程序的可阅读性。
关键词:即时通讯;Android Studio;Openfire;Asamck
目录
摘要
Abstract
1 绪论-1
1.1课题研究背景-1
1.2国内外现状以及应用前景-1
1.3课题的研究内容及目标的实现-1
2 课题相关工具-2
2.1 Android Studio的介绍-2
2.2 Genymotion的介绍-2
2.3 Openfire服务器的介绍-2
2.4 Spark的介绍-3
3 需求分析-4
3.1 一般的Android程序的功能分析-4
3.2 私有即时通讯系统中需要的功能分析-4
3.3 Android客户端SQLite数据库分析-4
3.3.1 联系人表设计-4
3.3.2 用户会话表设计-5
4 IM总体分析和模型设计-7
4.1总体分析-7
4.2模型设计-8
4.2.1 IM的登录功能模块-8
4.2.2 IM的注册功能模块-8
4.2.3 IM的会话列表功能模块-9
4.2.4 IM的联系人列表功能模块-10
4.2.5 IM的聊天功能模块-11
4.2.6 IM的注销功能模块-12
4.2.7 IM的添加好友功能模块-13
4.2.8 IM的Service功能模块-14
5 IM详细设计-18
5.1 登录模块详细设计-18
5.1.1 登录模块的界面实现-18
5.1.2 登录模块的逻辑实现-18
5.2 导航模块详细设计-19
5.2.1 导航模块的界面实现-19
5.2.1 导航模块的逻辑实现-19
5.3 主界面详细设计-20
5.3.1 主界面的界面实现-20
5.3.2 主界面的逻辑实现-20
5.4 聊天模块详细设计-21
5.4.1 聊天模块的布局实现-21
5.4.2 聊天模块的逻辑实现-21
5.5 Service模块详细设计-22
6 系统的调试与测试-23
6.1软件测试的任务-23
6.2系统功能测试-23
6.2.1 运行环境测试-23
6.2.2 用户注册功能测试-24
6.2.3 用户登录功能测试-25
6.2.4 添加好友功能测试-25
6.2.5 删除好友功能测试-26
6.2.6 发送接收消息功能测试-27
6.2.7 表情发送接收功能测试-27
结论-29
致谢-30
参考文献-31