我使用此流将活动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" >

10-08 09:35