我之前使用套接字类编写了一个应用程序来创建一个TCP / IP客户端,如下所示:
Socket soc;
DataOutputStream out;
DataInputStream in;
//in try-catch loop
soc = new ("192.168.1.101", 100);
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
.....//code on I/O through socket
它在我之前的ap上工作正常,运行sdk 9
现在我正在尝试在我的新应用程序中使用相同的功能,它使用片段和所需的sdk 11.但是应用程序在运行套接字代码时崩溃。 一旦我在manifest.xml中将android:minSdkVersion更改为9,它就会再次运行。但我需要minSDK 11作为片段。
我该怎么办?我有几个月的Android代码,请原谅我,如果我问愚蠢的问题。谢谢你们!
已编辑:这是触发Socket功能的OnClick功能:
private Button.OnClickListener m_BtnConnectDisconnectOnClick = new Button.OnClickListener()
{
public void onClick(View v)
{
try
{
//Obtaining IP Address & Port number
String str_ip = m_EditPumpIP.getText().toString();
int int_port = Integer.parseInt(m_EditPumpPort.getText().toString());
//Establish Pump Connection
socket = new Socket(str_ip, int_port);
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
//Update Status
m_TextSystemStatus.setText("OK");
}
catch (IOException e)
{
//Update Status
m_TextSystemStatus.setText("Fail");
}
}
};
答案 0 :(得分:1)
将其放入AsyncTask
//Establish Pump Connection
socket = new Socket(str_ip, int_port);
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());