传递活动之间没有序列化对象
问题描述:
我有会话活动A使用该流服务器侧:传递活动之间没有序列化对象
socket = new Socket("10.0.2.2", 7777);
outStream = new ObjectOutputStream(socket.getOutputStream());
inStream = new ObjectInputStream(socket.getInputStream());
我开始活动B,其中我生成的GeoPoint(没有序列号)。
现在我想发送GeoPoint到服务器。 我该怎么办呢?
我试过了:
1.使用Intent将GeoPoint返回到Activity A,但它只在Activity B完成时工作,而我不想关闭Activiy B。
2.从活动A发送outStream,inStream到B,但它们没有被序列化。
任何想法?
答
在这种情况下,您可能希望使用全局变量,方法是重写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;
}
}
和使用适当的呼叫在活动中设置/获取outstream。
只要记住设置此作为体现你的应用程序:
<application androidName=".MyOverridenApp" android:icon="@drawable/icon" android:label="@string/app_name" >
使用应用程序类中传递数据。你可以在那里继续引用你的套接字连接。 – goodm 2012-03-15 09:28:04