在此之前我编写了一个应用程序,它使用套接字类来创建一个 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
它在我以前的应用程序上运行良好,运行 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");
}
}
};