论文部分内容阅读
近年来,随着无线移动网络和智能手机操作系统的高速发展,各种基于无线互联网的即时通讯软件也层出不穷。即时通讯这种通讯手段,已经融入到日常生活中的方方面面,并且随着近年来,手机QQ,微信等移动IM应用的流行,即时通讯应用已经成为人们交流的一种重要工具。但是对于校园网等这类小范围的无线局域网,人们也已经不满足于仅仅使用文字图片进行实时通讯,音视频的实时通讯也越来越受到人们的青睐。由于无线局域网内通信速度更快、带宽更大,所以可以更好的提高文件传输和音视频通讯的质量。不仅能满足人们的普通的交流需求,还能使手机端的文件交互更加自由。论文通过分析XMPP协议的原理,RTP/RTCP协议的原理,充分考虑到无线局域网的特性,采用C/S协同点对点通讯的软件架构,MVC的开发模式,遵循软件工程的原理,从系统需求分析、系统概要设计、系统详细设计、系统具体实现等方面对基于Android的即时通讯系统的设计与实现做了完整的论述。本系统采用Eclipse作为软件的开发平台,使用开源的Openfire服务器作为系统的XMPP服务器。在数据持久化方面,服务器端的数据库采用MySql数据库,客户端的数据库采用Android平台内置的SQLite数据库。客户端与服务器间采用了安全可靠的TCP协议进行通讯。在进行音频实时通讯中,采用基于UDP/1m协议的点对点通讯模型,并对音频信号采用了iLBC编码,以保证音频实时通话质量。由于iLBC在Android平台上没有实现类库,所以只能对iLBC的C库进行Android移植,移植过程中需要对Android NDK编译进行学习,通过它对开源的iLBC的C库进行编译并生成动态so库,再用JNI本地调用技术来进行接口的调用。本论文的工作首先对系统的功能性需求和非功能性需求进行了分析说明,然后提出了系统的概要设计,明确了系统设计开发的目标和原则,确定了系统的技术架构,划分了系统的功能模块结构,接着又对各功能模块进行详细的分析设计,然后对系统做代码上的实现,同时给出了系统关键模块的程序流程图,活动图,类图,以及程序的核心代码。最后,还结合实际指出了系统存在的不足之处和对前景的展望。通过以上工作,系统最终实现了用户登录注册模块,好友管理模块,好友聊天模块,群组聊天模块,个人心情模块,语音留言通讯模块,文件传输模块,语音实时通话模块。而且系统在测试的Android模拟器环境下和Android真机环境下都能正常运行,并具有了良好的用户体验。