我使用此流将活动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完成并且我不想关闭活动B时才起作用。
2.从活动A向B发送outStream,inStream,但未序列化。
有任何想法吗?
最佳答案
在这种情况下,您可能想通过覆盖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" >