我有一个TCP连接类,可以在我的主要活动中使用。单击按钮时,我将开始一项新活动。启动新活动时,主活动仍将保持与服务器的连接。我想在新活动中使用此连接向服务器发送消息。有没有办法在新活动中使用此连接,还是应该关闭现有连接并在新活动中再次连接?
答案 0 :(得分:0)
最简单的方法是使用静态单例来保存TCP连接对象(Socket
):
public class SocketHolder {
private Socket socket;
public Socket getSocket() { return socket; }
public void setSocket(Socket socket) {this.socket = socket;}
private static final SocketHolder holder = new SocketHolder();
public static SocketHolder getInstance() {return holder;}
}
将其设置为一个这样的活动:
SocketHolder.getInstance().setSocket(mySocket);
并在另一个中得到它:
Socket mySocket = SocketHolder.getInstance().getSocket();
另外,您当然可以使用Singleton来保存Connection类。