openfire Android学习---android客户端聊天开发之登录 和 注销登录

一切就绪,新建一个android测试工程:

上网权限配置,界面绘制啥的,这里就不说了。

首先 导入一个smark包。这个是用来维护长连接的,也可以是asmark。我用的是asmark


先普及一些基本知识:

在xmpp中,所有东西的传输都是通过一个XMPPConnection的对象来进行传输的。 它给一个xml头,当服务器收到xml尾的时候,认为一次连接结束了


既然这样的话我们第一步就是拿到这个连接

/**
* 连接服务器
* 
* @return
*/
public boolean conServer() {
ConnectionConfiguration config = new ConnectionConfiguration("192.168.2.115", 5222);

/** 是否启用安全验证 */
config.setSASLAuthenticationEnabled(false);
/** 是否启用调试 */
// config.setDebuggerEnabled(true);
/** 创建connection链接 */
try {
connection = new XMPPConnection(config);
/** 建立连接 */
connection.connect();
return true;
} catch (XMPPException e) {
e.printStackTrace();
}
return false;
}


这个方法就不详细说了,拿进去肯定就可以用了connection 就是 XMPPConnection。建议定义为全局的,或者static的,因为我们一直要使用


成功拿到了连接之后就可以进行登录操作了


/**
* 登录
* 
* @param a 登录帐号
* @param p 登录密码
* @return
*/
public boolean login(String a, String p) {
try {
if (connection == null)
return false;
/** 登录 */  
connection.login(a, p);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}


调用方法时候记得填对用户名和密码


调用完登录方法后,去服务器看一下吧


成功登录后刷新一下用户组页面,可以看到,你的那个用户状态处于登录状态了哦


接下来看一下注销登录:

直接退出  程序   connection销毁了,其实就已经注销了,但是我们作为程序员不能这么干,哈哈

   

 /** 
     * 注销当前用户登录 
     * @param connection 
     * @return 
     */  
    public static boolean deleteAccount(XMPPConnection connection)  
    {  
        try {  
            connection.getAccountManager().deleteAccount();  
            return true;  
        } catch (Exception e) {  
            return false;  
        }  
    }


用一个按钮去调这个方法就OK啦

试一下吧,今儿就到这了,


下一个说说聊天功能的开发

原文地址:https://www.cnblogs.com/jasonkent27/p/4098443.html