=============================================================== 主动发送信息给某个用户 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test2@127.0.0.1", "123456"); //创建一个和test1的对话,并设置信息监听 Chat mychat = conn.getManager().create("test1@127.0.0.1", new MessageListener() { @Override public void processMessage(Chat chat,, Message message) { String messageBody = message.getBody(); System.out.println("收到信息:"+messageBody); } }); //发送给test1文本信息 mychat.sendMessage("hello"); //退出登陆 conn.disconnect(); =============================================================== 设置自己的登陆状态 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test2@127.0.0.1", "123456"); //设置登陆后的个人状态信息 Presence p = new Presence(Presence.Type.available); p.setStatus("发呆中。。。"); conn.sendPacket(p); //退出登陆 conn.disconnect(); ========================================================================== 被动接收用户发来的信息 ------------------------------------ XMPPConnection.DEBUG_ENABLED = true; //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test1@127.0.0.1", "123456"); //设置信息的监听 conn.getChatManager().addChatListener(new ChatManagerListener() { @Override public void chatCreated(Chat chat, boolean createdLocally) { chat.addMessageListener(new MessageListener() { @Override public void processMessage(Chat chat, Message message) { String messageBody = message.getBody(); System.out.println("接收到信息:"+messageBody); } }); } }); //退出登陆 conn.disconnect(); ========================================================================== 获取我的好友列表 ------------------------------------ //设置服务器地址 XMPPConnection conn = new XMPPConnection("127.0.0.1"); conn.connect(); //输入账号和密码登陆 conn.login("test1@127.0.0.1", "123456"); Collection<RosterEntry> rosters = conn.getRoster().getEntries(); System.out.println("我的好友列表:======================="); for(RosterEntry rosterEntry : rosters){ System.out.print("name: "+rosterEntry.getName()+",jid: "+rosterEntry.getUser()); System.out.println(""); } System.out.println("我的好友列表:======================="); conn.disconnect(); ========================================================================== 聊天窗口输入状态,使用XEP-0085 协议 ------------------------------------ //发送给test1初始文本信息,附带输入状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.active)); mychat.sendMessage(mess); //发送给test1初始文本信息,附带正在输入的状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.composing)); mychat.sendMessage(mess); //发送给test1初始文本信息,附带暂停输入的状态 Message mess = new Message(); mess.addExtension(new ChatStateExtension(ChatState.paused)); mychat.sendMessage(mess); //其他略。。。 //接收的时候 public void processMessage(Chat chat, Message message) { String messageBody = message.getBody(); PacketExtension pe; pe = message.getExtension("composing","http://jabber.org/protocol/chatstates"); if(pe != null){ System.out.println("对方正在输入......"); } pe = message.getExtension("active","http://jabber.org/protocol/chatstates"); if(pe != null){ System.out.println("接收到信息:"+messageBody); } pe = message.getExtension("paused","http://jabber.org/protocol/chatstates"); if(pe != null){ System.out.println("对方已暂停输入"); } pe = message.getExtension("inactive","http://jabber.org/protocol/chatstates"); if(pe != null){ System.out.println("对方聊天窗口失去焦点"); } pe = message.getExtension("gone","http://jabber.org/protocol/chatstates"); if(pe != null){ System.out.println("对方聊天窗口被关闭"); } } ========================================================================== 接收邀请,加入多人聊天房间 ------------------------------------ MultiUserChat.addInvitationListener(conn, new InvitationListener() { @Override public void invitationReceived(XMPPConnection conn, String room, String inviter, String reason, String password, Message message) { MultiUserChat multiUserChat = new MultiUserChat(conn, room); System.out.println("收到来自 "+inviter+" 的聊天室邀请。邀请附带内容:"+reason); try { multiUserChat.join("test2", password); } catch (XMPPException e) { System.out.println("加入聊天室失败"); e.printStackTrace(); } System.out.println("成功加入聊天室"); multiUserChat.addMessageListener(new PacketListener() { @Override public void processPacket(Packet packet) { Message message = (Message)packet; //接收来自聊天室的聊天信息 System.out.println(message.getFrom()+":"+message.getBody()); } }); } //发送信息到聊天室 multiUserChat.sendMessage("新手到来,大家关照!"); }); ========================================================================== 登陆gtalk ------------------------------------ XMPPConnection conn = new XMPPConnection(new ConnectionConfiguration("talk.google.com", 5222, "gmail.com")); conn.connect(); //输入gtalk的账号密码 conn.login("88888888", "8888888888"); Collection<RosterEntry> rosters = conn.getRoster().getEntries(); //获取gtalk上的好友列表 System.out.println("我的好友列表:======================="); for(RosterEntry rosterEntry : rosters){ System.out.print("name: "+rosterEntry.getName()+",jid: "+rosterEntry.getUser()); System.out.println(""); } System.out.println("我的好友列表:======================="); conn.disconnect();
相关推荐
android应用源码(精)基于asmack开发的Android IM客户端源码,android安卓实例应用源代码,仅供学习及设计参考。
aSmack 4.0后的小使用demo,详情请看http://blog.csdn.net/hellohhj/article/details/41074803#reply
安卓Android源码——(精)基于asmack开发的开源IM客户端.zip
1. 提供最新的2014-6-20的asmack jar包。 2. 可以参考smack的API文档进行开发。 3. 只是简单地针对openfire服务器进行connect和Login,并下拉了局域网用户数据信息。 4. Demo待完善中……
asmack4.0.7库+源码+api 开发基于xmpp协议的IM通讯功能的工具包
用于Xmpp协议的IM开发,用于android客户端IM开发
android应用源码精基于asmack开发的Android开源IM客户端.zip
基于asmack的即时通讯源码, 可以帮助你实现与openfile服务端进行通讯
源码参考,欢迎下载
android应用源码(精)基于asmack开发的Android开源IM客户端.rar
asmack4.0.7最新的包, Version: 4.0.7 Build date: Fr 20. Feb 09:16:47 CET 2015
android端的IM即时聊天Demo,服务器是openfire,比较大未上传,可自行到官网下载。
一个基于Android平台的XMPP开发包asmack的即时通讯的Demo, 简单了文本和文件的发送和接收
Android应用源码开发Demo,主要用于毕业设计学习。
xmpp聊天IM开发android使用jar,
asmack :http://code.google.com/p/asmack/downloads/list 用androidpn来实现推送:http://www.iteye.com/topic/1117043 AndroidPN环境建立 :http://www.cnblogs.com/devxiaobai/archive/2011/07/09/2101794.html...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台
基于XMPP协议、使用Androidpn服务器,Asmack编程的即时通讯IM客户端源代码;主要功能实现向客户端推送消息!