2014-11-25 81 views
0

我无法连接到服务器我不知道为什么请帮助我。这是我的代码:错误在Asmack Android连接到服务器Xmpp

public class Sample extends Activity{ 

    /** Called when the activity is first created. */ 
    TextView tvHello; 
    XMPPTCPConnection connection; 
    ConnectionConfiguration config; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     tvHello = (TextView) findViewById(R.id.tvHello); 
     Log.i("ohyeah", "I'm here"); 
     config = new ConnectionConfiguration("host", 5222, "servername"); 
     connection = new XMPPTCPConnection(config); 
     try { 

      connection.connect(); 
      // tvHello.setText("Connected to XMPP server"); 
      Log.i("ohyeah", "Successfully Connected"); 
     } catch (XMPPException e) { 

      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      Log.e("ohyeah", "Not Connected"); 
     } catch (SmackException e) { 

      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      Log.i("ohyeah", "Something Fishy"); 
     } catch (IOException e) { 

      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      Log.i("ohyeah", "yes"); 
     } 
    } 
} 

这是我的错误: http://i.stack.imgur.com/iaRdO.png

回答

0

你不能做长或后台运行的进程在UI线程,以便尝试使用的AsyncTask连接XMPP服务器:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tvHello = (TextView) findViewById(R.id.tvHello); 
    Log.i("ohyeah", "I'm here"); 
    connectToXmppServer(); 
} 

public void connectToXmppServer(){ 
    new AsyncTask<Void,Void,String>(){ 
     @Override 
     protected String doInBackground(Void... params) { 
      config = new ConnectionConfiguration("host", 5222, "servername"); 
      connection = new XMPPTCPConnection(config); 
      try { 
       connection.connect(); 
       // tvHello.setText("Connected to XMPP server"); 
       Log.i("ohyeah", "Successfully Connected"); 
      } catch (XMPPException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       Log.e("ohyeah", "Not Connected"); 
      } catch (SmackException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       Log.i("ohyeah", "Something Fishy"); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       Log.i("ohyeah", "yes"); 
      } 
      return null; 
     } 
    }.execute(); 
} 
+0

还是一样的错误:( – 2014-11-26 01:42:55

相关问题