Android/App개발2010. 7. 22. 21:36
** aidl인터페이스는 말 그대로 인터페이스일 뿐이다.
** 인터페이스의 구현은 Stub 클래스를 정의하는것으로 시작된다.
ex) 
interface myInterface {
  void foo();
};

class myImplement extends myInterface.Stub {
  myImplement(Context context) {
  }
  void foo() {
  }
}

** 구현된 인터페이스를 원격에서 사용하려면 반드시 서비스를 통해서 ServiceConnection이 이루어져야 한다.
class myService extends Service {
    public final IBinder onBind(Intent intent) {
        return new myImplement((Context)this);
    }    
}

** 이렇게 하면 app단에서 bindService() 시 ServiceConnection()의 onServiceConnected()메소드를 통해 해당 인터페이스의 참조를 얻을 수 있다.
Posted by 삼스