Smack-Android客户端入门一

不管是项目中要使用还是自己做demo玩,即时通信,消息推送应该很多人也会接触到,在这里,记录下自己在学习Smack-Android中碰到的问题,也备查询,也许也能帮助要入门的伙伴们一些帮助。服务端基于openfire.版本为4.0.2,客户端基于官网上github给出的最新版4.2.0,这里用的不是asmack,是最新的smack,从官网上应该了解到,smack已经支持android端了,再也不用去使用二次封装的asmack了。
第一步,搭建工程项目,服务端的安装,直接从官网http://www.igniterealtime.org/下载安装文件,安装即可,不在此说明。客户端安装,基于Android studio了,eclipse也可以,github上也给出了详细的安装步骤,如果你是用http://www.igniterealtime.org/上下载的smack的jar,记得把需要的jar包全部导入。https://github.com/igniterealtime/Smack/wiki/Smack-4.2-Readme-and-Upgrade-Guide 这是安装指导,也就是引入两步:一.配置仓库:repositories {

maven {
url ‘https://oss.sonatype.org/content/repositories/snapshots’
}
mavenCentral()
}
二、添加依赖:
dependencies {
compile “org.igniterealtime.smack:smack-android-extensions:4.2.0”
compile “org.igniterealtime.smack:smack-experimental:4.2.0”
compile “org.igniterealtime.smack:smack-tcp:4.2.0”
}
到了这一步,你的项目所需要的相关Smack文件已经全部配置好了,接下来就是编写客户端了,在这里,演示下连接与登陆操作,直接上源码:

  XMPPTCPConnectionConfiguration.Builder connectionConfiguration = XMPPTCPConnectionConfiguration.builder();
            connectionConfiguration.setConnectTimeout(5000);
            connectionConfiguration.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
            connectionConfiguration.setDebuggerEnabled(true);
connectionConfiguration.setSendPresence(true);
connectionConfiguration.setResource("Android");
            connectionConfiguration.setUsernameAndPassword(user, password);
            connectionConfiguration.setServiceName(Constants.SERVER_NAME);
            connectionConfiguration.setHost(Constants.SERVER_HOST);
            SASLAuthentication.registerSASLMechanism(new SASLPlainMechanism());

 AbstractXMPPConnection xmppConnection = new XMPPTCPConnection(connectionConfiguration.build());
 xmppConnection.connect();
xmppConnection.login();

如果一切正常,那么你就登陆成功了,项目搭建成功后,就一步一步实现即时通信功能了,接下来将会展示好友,组成员的获取,房间的获取,单对单之间的文字,图片,文件的发送与接收,会议室功能,会议室与群有点区别,你断开连接就被退出了会议室,下次需要重新加入。

你可能感兴趣的:(android开发,android,即时通信,smack)