代码适用于java,但不适用于';t适用于Android

代码适用于java,但不适用于';t适用于Android,android,sockets,Android,Sockets,下面的代码与eclipse中的java代码一样完美地运行,但它不在Android活动(MainActivity.java)中运行,导致应用程序强制关闭 try { Socket s=new Socket("192.168.0.6",9321); OutputStream d=s.getOutputStream(); DataOutputStream dos=new DataOutputStream(d); d

下面的代码与eclipse中的java代码一样完美地运行,但它不在Android活动(MainActivity.java)中运行,导致应用程序强制关闭

        try
    {
        Socket s=new Socket("192.168.0.6",9321);
        OutputStream d=s.getOutputStream();
        DataOutputStream dos=new DataOutputStream(d);
        dos.writeUTF("hii");
        s.close();
    }
    catch (IOException e)
    {}

我最好的猜测是你正在尝试在主线程上进行网络通信

在安卓系统中你不能这么做

否则,无论何时发出网络请求,整个UI都将完全冻结


尝试查找一些使用
AsyncTask
类执行网络请求的示例。这将在另一个线程上处理网络请求(因此UI不会冻结),然后返回响应。

请至少提供堆栈跟踪tandroid.os.networkonMainThreadException使用AsyncTask/Handler进行网络通信,并在清单中添加internet权限。