我有一个活动A,使用这个流与服务器端的会话:
socket = new Socket("10.0.2.2", 7777);
outStream = new ObjectOutputStream(socket.getOutputStream());
inStream = new ObjectInputStream(socket.getInputStream());
我正在启动活动B,其中我正在生成GeoPoint(未序列化) 现在我想将The GeoPoint发送到服务器。 我该怎么办?
我试过了:
1.使用Intent将GeoPoint返回到活动A.但它仅在活动B完成且我不想关闭Activiy B时起作用。
2.将outStream,inStream从Activity A发送到B,但它们没有被序列化。
有什么想法吗?
答案 0 :(得分:3)
在这种情况下,您可能希望通过覆盖Application
本身来使用全局变量。
例如:
public class MyOverridenApp extends Application {
private static ObjectOutputStream outStream = null;
private static ObjectInputStream inStream = null;
public static void setOutStream(ObjectOutputStream outStream) {
MyOverridenApp.outStream = outStream;
}
public static ObjectOutputStream getOutStream() {
return MyOverridenApp.outStream;
}
}
在活动中使用适当的调用来设置/获取流出。
请记住将其设置为清单中的应用程序:
<application androidName=".MyOverridenApp" android:icon="@drawable/icon" android:label="@string/app_name" >