打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android基于XMPP Smack Openfire开发IM(2)登录openfire

上节openfire服务器已经搭建完成,这节看看,怎么使用smack基于xmpp协议登录openfire服务器,

在服务器中创建好测试的账号

至于为什么要仿别人的东西,不是喜欢山寨,而是素材方便,总不能自己又编码,又当美工吧,时间都花在PS上面了,那样,元芳,你说是吧?

登录界面完成以后,下面是登陆的代码:

 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435
    public class LoginActivity extends Activity{          private EditText accountEditText;          private EditText passwordEditText;          private CheckBox remeberCheckBox;           public void onCreate(Bundle savedInstanceState) {                  super.onCreate(savedInstanceState);                  requestWindowFeature(Window.FEATURE_NO_TITLE);                  setContentView(R.layout.activity_login);                  accountEditText=(EditText) findViewById(R.id.login_account);                  passwordEditText=(EditText) findViewById(R.id.login_password);                  remeberCheckBox=(CheckBox) findViewById(R.id.login_remember);                  findViewById(R.id.login_login).setOnClickListener(new OnClickListener(){                      public void onClick(View v) {                          String account=accountEditText.getText().toString();                          String password=passwordEditText.getText().toString();                          if(account.equals("") || password.equals("")){                              Toast.makeText(LoginActivity.this, "账号或密码不能为空!", Toast.LENGTH_SHORT).show();                          }else{                              ClientConServer ccs=new ClientConServer(LoginActivity.this);                              boolean b=ccs.login(account,password);                              //如果登录成功                              if(b){                                  Toast.makeText(LoginActivity.this, "登陆成功!", Toast.LENGTH_SHORT).show();                                  startActivity(new Intent(LoginActivity.this,MainActivity.class));                                  MainActivity.account=account;                              }else{                                  Toast.makeText(LoginActivity.this, "登陆失败!", Toast.LENGTH_SHORT).show();                              }                          }                      }                  });           }      }  

代码没什么可说的,又基础的人都懂的,下面是smack具体登陆的代码,即上边代码中ClientConServer类:

 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132
    public class ClientConServer {          private static int PORT=5222;          private Context context;          public ClientConServer(Context context){              this.context=context;          }          public boolean login(String a,String p){              ConnectionConfiguration config = new ConnectionConfiguration(Constant.SERVER, PORT);              /** 是否启用安全验证 */              config.setSASLAuthenticationEnabled(false);              /** 是否启用调试 */              //config.setDebuggerEnabled(true);              /** 创建connection链接 */              XMPPConnection connection = new XMPPConnection(config);              try {                  /** 建立连接 */                  connection.connect();                  /** 登录*/                  connection.login(a, p);                  /** 开启读写线程,并加入到管理类中*/                  //ClientSendThread cst=new ClientSendThread(connection);                  //cst.start();                  //ManageClientThread.addClientSendThread(a, cst);                  return true;              } catch (XMPPException e) {                  e.printStackTrace();              }              return false;           }      }  

smack连接服务器就是这么简单,关键代码只有几行,甚至你可以不懂xmpp协议,几行代码就可以完成基于xmpp协议的消息,

登陆成功后,在openfire管理控制台中可以看到test账号在线。

http://blog.csdn.net/Vestigge

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
XMPP/Smack/Openfire javax.net.ssl.SSLException: Received fatal alert: internal
通过openfire发送文字
即时通讯软件openfire+spark+smack - 相信自己能行,那就一定能行 - ...
XMPP协议之客户端(a)SMACK
AValidations首页、文档和下载
U8SDK
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服