您的位置:首页 > 移动开发 > Android开发

Smack-Android客户端入门一

2016-07-22 17:06 477 查看
不管是项目中要使用还是自己做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 即时通信 smack