2014-11-06 4 views
-1

Я работаю с asmack на android. Я использую openfire-сервер. Я успешно подключаюсь к серверу, но я не получаю полный список. Я не могу получить полный список друзей. Когда я использую этот код, я ничего не получаю в своем списке. Мой размер реестра был 0.Невозможно получить полный список asamck asamck

ArrayList<XMPPFriend> friends= new ArrayList<XMPPFriend>(); 

     mRoster = mConnection.getRoster(); 
     mEntries = mRoster.getEntries(); 

     //Log.d(TAG, "friend list count : "+mEntries.size()); 
     for(RosterEntry entry : mEntries){  // difference is here      
      friends.add(new XMPPFriend(entry.getUser(), entry.getName(), getPresence(entry.getUser()))); 
      Log.d(TAG, "JID : "+entry.getUser()+" --- "+entry.getName()+" --- "+entry.getStatus()); 

     } 
     Log.d(TAG, "friend list count : "+friends.size()); 

И когда я использую этот код, я получаю некоторые значения в реестре, но до сих пор не получать полный список.

ArrayList<XMPPFriend> friends= new ArrayList<XMPPFriend>(); 
     //mEntries = mRoster.getEntries(); 
     mRoster = mConnection.getRoster(); 

     //Log.d(TAG, "friend list count : "+mEntries.size()); 
     for(RosterEntry entry : mRoster.getEntries()){  // difference is here 
      friends.add(new XMPPFriend(entry.getUser(), entry.getName(), getPresence(entry.getUser()))); 
      Log.d(TAG, "JID : "+entry.getUser()+" --- "+entry.getName()+" --- "+entry.getStatus()); 

     } 
     Log.d(TAG, "friend list count : "+friends.size()); 

Я искал в google, но я нашел почти этот же код. Я не уверен, почему я не получаю полный список. Я также пытался добавить задержку, но все равно не работает.

Любая помощь будет оценена по достоинству.

+0

Какую версию aSmack вы используете? – Flow

+0

Я использую asmack-android-17-0.8.3 –

+0

Я также попытался asmack-android-8-4.0.5. Но в этом он дает мне исключение, что классы не найдены. –

ответ

0
   ConnectionConfiguration connConfig = new ConnectionConfiguration(
        HOST, PORT, SERVICE); 
       XMPPConnection connection = new XMPPConnection(connConfig); 
       Roster roster = connection.getRoster(); 
       Collection<RosterEntry> entries = roster.getEntries(); 
       for (RosterEntry entry : entries) { 
        // name1++; 
        Log.d("DreamChatPublicChatActivity", 
          "--------------------------------------"); 

        Log.d("DreamChatPublicChatActivity", "RosterEntry " 
          + entry); 

        Log.d("DreamChatPublicChatActivity", 
          "User: " + entry.getUser()); 

        Log.d("DreamChatPublicChatActivity", 
          "Name: " + entry.getName()); 
        } 

Эта запись всех записей реестра.