插座& SDK minVersion

时间:2013-03-11 07:41:40

标签: android

我之前使用套接字类编写了一个应用程序来创建一个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");
         }
   }
};

1 个答案:

答案 0 :(得分:1)

将其放入AsyncTask

//Establish Pump Connection
          socket = new Socket(str_ip, int_port);
          out = new DataOutputStream(socket.getOutputStream());
          in = new DataInputStream(socket.getInputStream());

Like This example