같은 프로세스 내 액티비티와 서비스간 통신을 할때에는
굳이 aidl을 사용하지 않더라도 bindService를 통해서 통신이 가능한걸로 알고 있는데요.
이때 필요한 변수인 ServiceConnection을 항상 선언을 해 주어야 하는데요.
//코드
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
// We've bound to MyService, cast the IBinder and get MyService instance
MyBinder binder = (MyBinder) service;
mService = binder.getService();
mBound = true;
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
mBound = false;
}
};
이만큼의 분량을 서비스의 값을 참조하려는 모든 액티비티에 같은 내용을 첨가해야 한다는점이
비효율적이라는 생각이 들어서요.
바인드/언바인드 하는 부분은 어쩔수 없이 필요하다는 생각이 듭니다만.
서비스 커넥션은 따로 빼서 필요할때만 사용할수 있지 않을까 하네요.
자바쪽 문법이 필요한것 같아서 이렇게 자문을 구하게 되었습니다.
저 부분을 모든 액티비티에서 공유를 하려면 어떻게 해야 할까요?
좋은 답변 부탁드립니다.




service connection을 별도 class로 만들어 빼면 되지 않나요?