Я создал интерфейс, подобный этому
public interface NetworkInterface {
public void onReceive();
}
И у меня есть два класса, реализующих этот интерфейс, подобный этому.
public class NetworkManager implements NetworkInterface {
private NetworkQueue mNetworkQueue;
private TCPConnection mTCPConnection;
private Worker mWorker;
public NetworkManager(){
mNetworkQueue = new NetworkQueue();
mTCPConnection = new TCPConnection();
mWorker = new Worker();
}
@Override
public void onReceive() {
// TODO Auto-generated method stub
}
}
public class TCPConnection implements NetworkInterface{
private final static String IP = "1.1.1.1";
private final static String PORT = "12001";
private Socket mSocket;
private DataOutputStream mOut;
private InputStream mIn;
public TCPConnection() throws NumberFormatException, UnknownHostException, IOException{
mSocket = new Socket(InetAddress.getByName(IP),Integer.valueOf(PORT));
mOut = new DataOutputStream(mSocket.getOutputStream());
mIn = mSocket.getInputStream();
}
@Override
public void onReceive() {
// TODO Auto-generated method stub
}
}
Так что TCPConnection собирается импортировать NetworkManager и вФункция onReceive TCPConnection, она будет вызывать функцию onReceive NetworkManager.В onReceive функция NetworkManager добавит все, что передается в качестве параметра в рабочую очередь.
Мне было интересно, если это правильный способ приблизиться к функции обратного вызова.
Заранее спасибо.