基本的な考え方は、アプリが起動すると、クラスはサーバーへのソケット接続を確立し、出力ストリームと入力ストリームを定義するだけです。出力ストリームと入力ストリームは、相互作用を必要とするすべての異なるアクティビティを通じてアクセスする必要があるため、ソケットは常に有効で準備ができている必要があります。
これまでの私の考えは、ソケットと接続を単純に作成するクラスを作成することです。
public class connection {
private String HostIPaddress = "XXX.XXX.XXX.XXX";
private int PORT = XXXX;
public Socket sock = null;
public DataOutputStream out = null;
public DataInputStream in = null;
public void assignStreams(){
try{
sock = new Socket(getHostIPaddress(),getPORT());
out = new DataOutputStream(sock.getOutputStream());
in = new DataInputStream(sock.getInputStream());
}catch (Exception ex) {
Log.i("Connection Error",ex.toString());
}
}
}
最初に実行されるアクティビティから、このクラスの静的オブジェクトを作成すると、他のすべてのアクティビティがこのオブジェクトにアクセスできます。