基于Openfire Smack开发即时通讯应用、Spark安装,注册,登录,退出登录(二)
来源:互联网 发布:iphone5s手机壳淘宝 编辑:程序博客网 时间:2024/04/29 19:32
上一篇已经把服务器的Openfire环境搭建好了,现在我们就可以来搭建应用App的环境了这样就可以使用Smack的API来与服务器进行通信了。
一:继续去igniterealtime下载Smack的jar包和Spark.exe
二:Spak,第一次使用需要设置点东西,不然登录不上。
点击进入高级,将倒数第三,第二个勾上这样就可以登录了(至于为什么自己领悟吧 ^_^)
现在我们随便登录一个帐号,域名填写你服务器的ip地址(要是没有可以进入后台手动创建一个)
安装好了这个,在开发的时候就非常方便测试了。
三:应用开发所需要的jar包(缺一不可^_^)
jxmpp
的两个jar包igniterealtime官网
并没有下载,这里给出下载链接jxmpp
四:搞了这么久终于可以开始敲代码了,先来个登录:
这里有几点需要注意的地方:
- XMPPTCPConnection connection //全局就只能有一个,所有的操作基本上都是基于connection
- 由于使用的是TCP连接,所以还得保证
connection
不死所以最好就放在服务中进行 - 第一步就是让你的应用连接上Openfire服务器
private XMPPTCPConnection connection; /** * 获得与服务器的连接 * * @return */ public XMPPTCPConnection getConnection() { try { if (connection == null) { XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() //服务器IP地址 .setHost("119.29.193.12") //服务器端口 .setPort(5222) //服务器名称(管理界面的 主机名) .setServiceName("izqhrnmkjn55syz") //是否开启安全模式 .setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled) //是否开启压缩 .setCompressionEnabled(false) //开启调试模式 .setDebuggerEnabled(true).build(); connection = new XMPPTCPConnection(config); connection.connect(); } return connection; } catch (Exception e) { e.printStackTrace(); } return connection; }
四:注册用户,Map中对应一些用户资料;由于方法没有返回值所以操作是否成功就看会不会抛异常若不会则成功了。
/** * 创建一个新用户 * * @param username 用户名 * @param password 密码 * @param attr 一些用户资料 * @see AccountManager */ public boolean registerAccount(String username, String password, Map<String, String> attr) { AccountManager manager = AccountManager.getInstance(connection); try { if (attr == null) { manager.createAccount(username, password); } else { manager.createAccount(username, password, attr); } return true; } catch (Exception e) { e.printStackTrace(); return false; } }
attr对应的一些属性值 name;email;first;last;city;state;zip;
phone;url;date;misc;text;remove(可以查看AccountManager中的getAccountAttributes()函数注释)
五: 登录操作,查看结果同上。
/** * 登录 * * @param userName 用户名 * @param password 密码 */ public void login(final String userName, final String password) { new Thread(new Runnable() { @Override public void run() { try { connection.login(userName, password); } catch (Exception e) { e.printStackTrace(); } } }).start(); }
六:退出登录
/** * 退出登录 * * @return code * @code true 退出成功 * @code false 退出失败 */ public boolean logout() { try { connection.instantShutdown(); return true; } catch (Exception e) { e.printStackTrace(); return false; }
七:修改用户密码
/** * 修改密码 * * @param newPassword 新密码 * @return code * @code true 修改成功 * @code false 修改失败 */ public boolean changePassword(String newPassword) { try { AccountManager manager = AccountManager.getInstance(connection); manager.changePassword(newPassword); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
结语:Smack的Api还是相对比较简单的,这个版本的Api基本上都是使用的单例模式所以也非常好些
3 0
- 基于Openfire Smack开发即时通讯应用、Spark安装,注册,登录,退出登录(二)
- 基于Openfire Smack开发即时通讯应用、搭建Openfire服务器(一)
- 基于openfire+smack开发Android即时聊天应用[二]-用户注册、登陆、修改密码、注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
- 历届试题 加法变乘法
- 【面试题】剑指Offer-4-替换空格
- django静态文件配置settings.py
- Remove Element问题及解法
- 二进制在计算机中的存储方法
- 基于Openfire Smack开发即时通讯应用、Spark安装,注册,登录,退出登录(二)
- System.setProperty(keyword,value)的两种方式
- Android 横竖屏切换 引起的1s左右黑屏
- JS:地铁报站
- js操作cookie方法(用继承方式写)
- 第四课-函数的升级(下)
- windbg的symfix命令
- android二维码开源项目zxing编译 命令行编译
- django静态文件url处理