« 出差头两天« »想让你的电脑同时拥有IE5,6,7吗?Multiple IE 可以帮你做到 »
JAVA做MSN之获取在线好友

本来今天公差还是没什么事做,就打算来做自己的MSN,可是不知道台州移动里做了什么设置,用微软的MSN可以登录,用我自己的MSN就是登录不了(而且QQ也登录不了,想聊天也不行啊),昨天在旅馆里还可以用自己的MSN呢.所以,就做不了MSN了,随便玩点什么吧.

昨天在旅馆里,按照前几天找的方法,做好了好友在线列表的获取工作.不过奇怪的是,在登录完成后,就是不能正确得到好友是否在线,准确的说是根本得不到好友是否在线的信息,取的列表里都是离线,实际上是有好友在线的.然后在其它消息事件里用同样的代码(我已经做成了一个函数)就可以得到正确的好友在线名单,不过还是有些好友在线,却没办法得到.这个好友是一个机器人,是小I机器人提供的功能,用我自己的MSN号绑定自己的博客的MSN.就是得不到这个MSN在线情况,可是却能得到小I机器的在线情况.看来,还有很多东西要修改和优化了.


好了,看看我获取好友列表及在线情况的代码吧:

一: 在class MSNAdapter extends MsnAdapter里面自定义了一个专门显示好友到列表的函数:
  /**
   * 显示好友列表
   * 自定义函数
   */
  public void showFriends() {
   BuddyList bl = myMsn.getBuddyGroup().getForwardList();//得到好友列表
            String loginNames ="";
            clearFriendsList();//我自己的函数,用来清空list列表框
            for (Iterator i = bl.iterator(); i.hasNext();) {
                MsnFriend friend = (MsnFriend) i.next();
                loginNames = friend.getLoginName();//得到好友的email名字
                if ( friend.getStatus().equals(UserStatus.OFFLINE))//如果这个好友不在线
                 loginNames=loginNames+"<离线>";
                if ( friend.getStatus().equals(UserStatus.ONLINE))//如果这个好友在线
                 loginNames=loginNames+"<当前在线>"; 
                addFriendToList(loginNames);//我自己的函数,用来将这loginNames这个好友加到列表上
                }
  }
是不是方便多了.MSNM-LIB里没有直接相关的函数可以直接得到好友列表的,所以,只能这样写了.最后,在你要刷新好友列表的消息事件里,使用showFriends() 这个函数就可以了

想了解更多关于MSNM-LIB获取好友列表的资料,请参考我以前的文章:JMSN-MSNM-LIB如何获得好友列表,主动向好友发送消息的方法http://www.busfly.cn/post/JMSN-MSNM-LIB-friends.html

 

 


Tags: MSN  QQ  机器人   |

原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/

本文链接地址:http://www.busfly.net/post/java-msn-getfriends.html

如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~

     
相关文章:




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
网站分类
分类最近文章
最近发表
最新评论及回复
最近留言
热文排行
随机推荐文章
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(J2EE为主):3769186.