在我的 Android 项目中,我只有一个 Activity - “MainActivity.java”。我在同一个包“GetSocket.java”中添加了另一个类文件。
GetSocket.java 的功能是它将通过 Socket 连接返回一个字符串到网站中托管的特定服务器。如果作为 Java 应用程序单独运行,GetSocket.java 工作得很好。
但是当我从 Android Activity 调用它时,它不会返回我想要的消息,它只是失败了,我也无法获得 StackTrace 的异常。
请注意,这是在 Android 4.1 版本中运行时的结果。
但同样的代码在 Android 2.2 中也能正常工作,并得到了我想要的信息。
MainActivity.java
public class MainActivity
{
TextView t= (TextView) getViewById(R.id.textView1);
//..
//some code
//..
String msg=GetSocket.getMessage();
//..
//some more code
//
}
GetSocket.java
public class GetSocket
{
public static String getMessage()
{
String b;
Socket s=new Socket("<IP-Address",<Port-number>);
InputStream i=s.getInputStream();
int length=i.read(b)
return b;
}
}