论文部分内容阅读
随着互联网的快速发展,人与人之间的通讯方式逐步从传统的电话走向网络。即时通信因其实时、高效的特性,已经成为目前网络上最为流行的一种通讯方式。然而,目前市场已存在的移动端即时通信软件,为了满足用户需求,往往在迭代更新的过程中,加入越来越多的功能模块,虽然为用户带来了更丰富的体验,但模块之间的高耦合性却给开发和调试工作带来许多困难。针对这些现象和问题,本文提出了基于Android平台实现一个即时通信系统,并将不同功能和业务组件化,使模块可以独立开发和测试,发布时则作为依赖库集成到主APP。本论文从三个方面对基于Android的组件化即时通信系统进行了研究。首先,在对现有的即时通信软件功能进行调查和研究之后,提出了一个基于推送机制实现的即时通信系统。系统根据功能和业务的不同分为5个模块:基础库、登录、消息、朋友圈、通讯录。然后,将上述模块以组件的形式实现。组件划分为开发模式和发布模式,并对应两套不同的Manifest和资源配置方案。组件的调用借助ActivityRouter框架实现隐式调用,降低耦合性。其中,基础库模块实现了其他模块运行时,需要调用的公共资源,包括复写的Android控件、图片异步加载类、网络请求发送方法等,该模块被其他模块共享。登录、消息、朋友圈和通讯录为不同的业务模块,分别从客户端、服务器和数据库三个方面论述其设计和实现,其中,消息的传输借助GeTui(个推:消息推送服务)以推送的方式实现,本地存储依靠SQLite数据库,服务器接口用SpringMVC和Mybatis框架实现。最后,根据本论文设计的组件化即时通信系统实现了一个原型系统,并对其进行了功能性测试和兼容性测试。实验结果表明,本论文所设计的组件化即时通信系统能够实现基于Android平台的即时通信功能,并且每一功能模块均能以组件的形式独立开发和单独调用。