2013-09-25 2 views
2

Привет Я создаю приложение чата с помощью xmpp. Моя проблема заключается в том, что во время запуска проекта появляется диалоговое окно с указанием «ваш проект содержит ошибки исправить и запускать», но ошибок, отображаемых в проводнике проекта, нет, отображается предупреждение (надеюсь, что это не повлияет на запуск проекта). На странице консоли показывает, как это:Как очистить ошибки в программе xmpp chat в android

[2013-09-25 10:25:01 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr; 
[2013-09-25 10:25:01 - XMPPChatDemo] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr; 

И мой код программы:

public class XMPPChatDemoActivity extends Activity { 

    public static final String HOST = "192.168.1.4"; 
    public static final int PORT = 5222; 
    public static final String USERNAME = "semyma"; 
    public static final String PASSWORD = "computer"; 
    private XMPPConnection connection; 
    private ArrayList<String> messages = new ArrayList<String>(); 
    private Handler mHandler = new Handler(); 
    private EditText recipient; 
    private EditText textMessage; 
    private ListView listview; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     recipient = (EditText) this.findViewById(R.id.toET); 
     textMessage = (EditText) this.findViewById(R.id.chatET); 
     listview = (ListView) this.findViewById(R.id.listMessages); 
     setListAdapter(); 
     // Set a listener to send a chat text message 
     Button send = (Button) this.findViewById(R.id.sendBtn); 
     send.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       String to = recipient.getText().toString(); 
       String text = textMessage.getText().toString(); 
       Log.i("XMPPChatDemoActivity", "Sending text " + text + " to " + to); 
       Message msg = new Message(to, Message.Type.chat); 
       msg.setBody(text);    
       if (connection != null) { 
        connection.sendPacket(msg); 
        messages.add(connection.getUser() + ":"); 
        messages.add(text); 
        setListAdapter(); 
       } 
      } 
     }); 

     connect(); 
    } 

    /** 
    * Called by Settings dialog when a connection is establised with the XMPP 
    * server 
    * 
    * @param connection 
    */ 
    public void setConnection(XMPPConnection connection) { 
     this.connection = connection; 
     if (connection != null) { 
      // Add a packet listener to get messages sent to us 
      PacketFilter filter = new MessageTypeFilter(Message.Type.chat); 
      connection.addPacketListener(new PacketListener() { 
       @Override 
       public void processPacket(Packet packet) { 
        Message message = (Message) packet; 
        if (message.getBody() != null) { 
         String fromName = StringUtils.parseBareAddress(message 
           .getFrom()); 
         Log.i("XMPPChatDemoActivity", "Text Recieved " + message.getBody() 
           + " from " + fromName); 
         messages.add(fromName + ":"); 
         messages.add(message.getBody()); 
         // Add the incoming message to the list view 
         mHandler.post(new Runnable() { 
          public void run() { 
           setListAdapter(); 
          } 
         }); 
        } 
       } 
      }, filter); 
     } 
    } 

    private void setListAdapter() { 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       R.layout.listitem, messages); 
     listview.setAdapter(adapter); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     try { 
      if (connection != null) 
       connection.disconnect(); 
     } catch (Exception e) { 

     } 
    } 

    public void connect() { 

     final ProgressDialog dialog = ProgressDialog.show(this, 
       "Connecting...", "Please wait...", false); 

     Thread t = new Thread(new Runnable() { 

      @Override 
      public void run() { 
       // Create a connection 
       ConnectionConfiguration connConfig = new ConnectionConfiguration(
         HOST, PORT); 
       XMPPConnection connection = new XMPPConnection(connConfig); 
       try { 
        connection.connect(); 
        Log.i("XMPPChatDemoActivity", 
          "Connected to " + connection.getHost()); 
       } catch (XMPPException ex) { 
        Log.e("XMPPChatDemoActivity", "Failed to connect to " 
          + connection.getHost()); 
        Log.e("XMPPChatDemoActivity", ex.toString()); 
        setConnection(null); 
       } 
       try { 
        // SASLAuthentication.supportSASLMechanism("PLAIN", 0); 
        connection.login(USERNAME, PASSWORD); 
        Log.i("XMPPChatDemoActivity", 
          "Logged in as " + connection.getUser()); 
        // Set the status to available 
        Presence presence = new Presence(Presence.Type.available); 
        connection.sendPacket(presence); 
        setConnection(connection); 
        Roster roster = connection.getRoster(); 
        Collection<RosterEntry> entries = roster.getEntries(); 
        for (RosterEntry entry : entries) { 
         Log.d("XMPPChatDemoActivity", 
           "--------------------------------------"); 
         Log.d("XMPPChatDemoActivity", "RosterEntry " + entry); 
         Log.d("XMPPChatDemoActivity", 
           "User: " + entry.getUser()); 
         Log.d("XMPPChatDemoActivity", 
           "Name: " + entry.getName()); 
         Log.d("XMPPChatDemoActivity", 
           "Status: " + entry.getStatus()); 
         Log.d("XMPPChatDemoActivity", 
           "Type: " + entry.getType()); 
         Presence entryPresence = roster.getPresence(entry 
           .getUser()); 
         Log.d("XMPPChatDemoActivity", "Presence Status: " 
           + entryPresence.getStatus()); 
         Log.d("XMPPChatDemoActivity", "Presence Type: " 
           + entryPresence.getType()); 
         Presence.Type type = entryPresence.getType(); 
         if (type == Presence.Type.available) 
          Log.d("XMPPChatDemoActivity", "Presence AVIALABLE"); 
         Log.d("XMPPChatDemoActivity", "Presence : " 
           + entryPresence); 

        } 
       } catch (XMPPException ex) { 
        Log.e("XMPPChatDemoActivity", "Failed to log in as " 
          + USERNAME); 
        Log.e("XMPPChatDemoActivity", ex.toString()); 
        setConnection(null); 
       } 

       dialog.dismiss(); 
      } 
     }); 
     t.start(); 
     dialog.show(); 
    } 
} 
+0

попробуйте очистить проект – WISHY

+0

Удалить «БИН» папку и чистой buuld –

ответ

0

Большую часть времени это происходит из-за многочисленных копий андроида-поддержки-v4 библиотеки в вашем проекте и зависимом проекте.

Сначала попробуйте удалить другой андроид-поддержка-v4 библиотеку и сделать его одинаковым для всех. , если это работает для вас, то его хороших других мудрых следовать за шаги ниже вот будет работать с вами

1 Элемент списка

2-Open Построить путь проекта,

3-Select «Библиотека» на вкладке ,

4-Удалить все библиотеки, кроме Android библиотеки

5-Добавление всех необходимых JAR-файлов Файлы

И вы Готовы.

0

Эта ошибка возникает, если вы скажете какой-либо проект в этой среде проекта, значит SDK, обновленный в API LEVEL 15, и такой тип проекта, который вы импортируете в рабочее пространство и на данный момент следует отметить, что ваш SDK обновлен в API LEVEL
19 в это время фиксированная настройка проекта, и он пойдет по пути сборки. При этом вы просто добавляете внешние библиотеки
android-support-v4, то эта проблема возникает из-за множественных копий android- support-v4/google-play-services, если вы используете библиотеки карт Google в своем проекте.

Надеюсь, что вам лучше понять.

Thankys

Смежные вопросы