1.2研究意义
移动技术与手机终端技术的不断进步,以手机终端最为载体的移动通信软件如雨后春笋逐渐增多。如:飞信,易信,微信,手机QQ,MSN,以及一些门户网站以及社交网站推出的垂直即时通信业务平台,入网易泡泡,新浪UC,阿里旺旺等等。即时通信也由最开始的单纯即时传播文本消息的功能,转变到传输包括文本,语音,文件,视频等多项内容。聊天模式也有最开始的一对一聊天发展到如今的群聊,音频聊天,视频聊天等多种。
近几年来,以微信为代表的即时通信软件有了迅猛的发展,在便捷性,跨平台性,事实性使之成为深受用户喜爱的网络通讯平台。而这些应用都各自遵循各自不同的协议,并不对外公开,这就产生了软件之间的互通障碍。而且目前的即时通信应用在通讯安全上比较薄弱,有可能给不法分子可乘之机。
目前使用众多IM通讯软件工具,如QQ,AOL,MSN等都是基于自身通讯协议来进行通讯设计的。并且各自使用的通讯协议不公开,无法对其分析。在各种通讯协议中,比较著名的一个协议是Jabber,被较为广泛的运用到即时通讯领域。而XMPP是Jabber协议的升级版,XMPP已经成为目前较为主流的解决IM通讯问题的协议之一。XMPP基于XML,一次具有XML的灵活性和可扩展性。同时,XMPP还扩展了其针对服务器端的软件协议,便于给应用添加其他功能或者简历客户应用程序。XMPP通过网关,允许用户使用其他协议。可以是即时通信协议,也可以是不同的协议,比如Email,与XMPP协议通信。
Android近几年进入大众视野来,取得了长久的发展,Android系统上Google应用商店上涌现了大量的手机应用。其中有一部分是桌面程序的移植版,其中移动版的即时通信时其中一个比较典型的例子。中国移动,腾讯,Skype等多个从事即时通信领域的公司就相继推出了QQ、飞信和Skype客户端,这些客户端应用在功能特点上各具特色。除了这些大公司推出的应用之外,还有许多实用性很强的即时通信软件,比如Kik Messager,这款应用提供一个跨平台社交短信服务;WhatsAPP,应用将手机号为账号,用来代替手机短信来给好友发送文字、图片、视频,音频等,类似的还有微信等。但是目前这些通信软件之间仍然不可以相互通信,每种类型的移动即时通信都只能在自身软件之间相互通信。因此,推出基于Android平台的基于XMPP协议的即时通信软件很有意义。
1.3.关键技术介绍
1.3.1 JAVA概述
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,其命名是由Sun Microsystems公司与1955年5月推出的JAVA程序设计语言和JAVA平台(即JavaSE、JavaEE、JavaME)的总称。Java技术具有优越的高效性、通用性、平台移植性和安全性,广泛应用于个人PC、游戏控制、数据中心、移动电话和互联网、科学超级计算机,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,JAVA更具备了广阔前景和显著优势。
JAVA最显著的优点是平台无关性。平台无关性又分为俩级,源代码级和二进制级。源代码级是指程序的代码从一个平台移植到另一个平台上时,只需要重新编译一下代码即可,不需要做其他语法上面的改变。二进制级表示着程序的二进制代码可以直接从一个平台移动到另一个平台上运行,并不需要重新编译。如C++,C这样的语言只具有一部分的源代码级平台无关性。Java的优点在于平台无关性不仅仅是源代码级的而且是二进制级的。这也是H、JAVA被广泛应用的一个原因。 基于Android平台的即时通讯系统客户端的设计与实现(3):http://www.751com.cn/jisuanji/lunwen_15753.html