帮助在Android中编写DataOutputStream

时间:2011-03-18 13:30:21

标签: android sockets stream tcpclient dataoutputstream

所以我试图设置一个套接字客户端,暂时只将一个int发送到服务器DataOutputStream。当我从我的PC运行它时,我的应用程序工作正常,但我在Eclipse上的Android模拟器上收到此错误消息:“应用程序SOCKET意外停止请再试一次”。有小费吗?如果您发现任何其他错误,为什么这一般不起作用,任何建议都表示赞赏。

Android应用代码:

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

public class SOCKET extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("App1 Test");
        setContentView(tv);
        Client app1Test = new Client();
        app1Test.run();
    }

    public class Client implements Runnable{

        @Override
        public void run() {
            int message = 13;
            Socket App1 = null;

                   try {
                     App1 = new Socket("xxxxx.dyndns-remote.com", ####);
                } catch (UnknownHostException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


            DataOutputStream output = null;

            try {
                output = new DataOutputStream(App1.getOutputStream());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


            try {
                output.write(message);
                output.close(); 
                App1.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();

        }

    }


}
}

2 个答案:

答案 0 :(得分:0)

在您的清单中设置互联网权限

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

允许您的应用程序打开套接字。请参阅http://developer.android.com/reference/android/Manifest.permission.htmlhttp://developer.android.com/resources/samples/SampleSyncAdapter/AndroidManifest.html

答案 1 :(得分:0)

使用字节数组发送数据。

public boolean isCellEditable(int row, int column) {
                    return false;
            }

Saludos。