smack android 示例代码,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 {1

2

3

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();1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值