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();
如果一切正常,那么你就登陆成功了,项目搭建成功后,就一步一步实现即时通信功能了,接下来将会展示好友,组成员的获取,房间的获取,单对单之间的文字,图片,文件的发送与接收,会议室功能,会议室与群有点区别,你断开连接就被退出了会议室,下次需要重新加入。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories