在ICS上打开套接字的问题

时间:2012-05-30 10:01:03

标签: android

所以我在创建新套接字时遇到问题。我有这个程序在姜饼上工作得很好,但是由于我的HTC感觉xe更新到ICS,程序每次尝试打开插座时都会崩溃。我有一个程序将陀螺仪数据发送到我本地网络上的服务器。由于出现了这个问题,我已将代码减少到仍然导致问题的最小组件,所以现在就是这样。

package com.mytesting;

import java.net.Socket;
import android.app.Activity;
import android.os.Bundle;
import java.io.*;
import java.net.*;

public class SocketTestingActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        try {
            Socket clientSocket = new Socket("192.168.1.7", 23000);
        } catch (UnknownHostException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }


    }
}

我已经包括:

<uses-permission android:name="android.permission.INTERNET" />   

在清单文件中。

所有这些东西在ICS之前完全正常工作。现在当我运行程序时,我只是收到消息“不幸的是,SocketTesting已停止。”

有谁知道我做错了什么,我对android编程和java编程都很陌生。

感谢您的帮助,伙计们。

1 个答案:

答案 0 :(得分:1)

在ICS中,您无法在UI线程上执行网络操作。将其移至单独的主题或使用AsyncTask