• 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啦

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


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

  • 相关阅读:
    CSS 基础语法
    标签
    HDU 5487 Difference of Languages BFS
    HDU 5473 There was a kingdom 凸包 DP
    HDU 5468 Puzzled Elena 莫比乌斯反演
    BNU 3692 I18n 模拟
    补题列表
    POJ 3241 曼哈顿距离最小生成树 Object Clustering
    UVa 1309 DLX Sudoku
    CodeForces Round #320 Div2
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4098443.html
Copyright © 2020-2023  润新知