인터페이스를 만들어 준다

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();

입맛대로 쓰면됨....

+ Recent posts