asmack 搜索用戶信息

 // 查詢用戶
 public static void searchUserBeans(XMPPConnection conn, String userName) throws XMPPException{


   UserSearchManager usm = new UserSearchManager(conn);
   org.jivesoftware.smackx.Form searchform = usm
     .getSearchForm("search.192.168.1.66");//注意:search表單默認都是search.服務器地址
   org.jivesoftware.smackx.Form answerForm = searchform
     .createAnswerForm();
   answerForm.setAnswer("Username", true);
   answerForm.setAnswer("search", userName);
   ReportedData data = usm.getSearchResults(answerForm,
     "search.192.168.1.66");
   Iterator<Row> it = data.getRows();
   Row row = null;
   while (it.hasNext()) {
    row = it.next();
    String uname = row.getValues("Username").next().toString();
    String Email = row.getValues("Email").next().toString();
    String Name = row.getValues("Name").toString();    
    row.toString();
    System.out.println("----------uname---------" + uname);
    System.out.println("----------Email---------" + Email);
    System.out.println("----------Name---------" + Name);  
   }
 }

 

如果自己嫁接的數據庫表搜索用戶的話需要自己寫個類繼承IQ,替換UserSearch類,最後別忘了在配置信息裏面將

 // User Search
  pm.addIQProvider("query", "jabber:iq:search", new UserSearch.Provider());替換成自己的類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章