인터페이스를 만들어 준다
public interface RsltImpl {
public void callBack(String result);
public void start();
public void stop();
}
public class CallBackM implements Runnable {
private Context mContext;
private RsltImpl rslt;
public MsgRead(Context mContext, RsltImpl) {
this.mContext = mContext;
this.rslt = rslt;
}
@Override
public void run() {
this.rslt.start();
this.rslt.callBack(result);
this.rslt.stop();
}
}
RsltImpl rslt = new RsltImpl() {
@Override
public void callBack(String result) {
Log.e("CallBack", "CallBack");
// 콜을 받아서 UI 작업이 있을때는 runOnUiThread를 사용해야한다!
}
@Override
public void start() {
Log.e("START", "START");
}
@Override
public void stop() {
Log.e("STOP", "STOP");
}
};
CallBackM callBackM = new MsgRead(mContext, rslt);
//이렇게 하면 동기화로 돌아감
//callBackM.run();
Thread thread = new Thread(callBackM);
thread.start();
입맛대로 쓰면됨....