같은 프로세스 내 액티비티와 서비스간 통신을 할때에는


굳이 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;

}

};


이만큼의 분량을 서비스의 값을 참조하려는 모든 액티비티에 같은 내용을 첨가해야 한다는점이

비효율적이라는 생각이 들어서요.

바인드/언바인드 하는 부분은 어쩔수 없이 필요하다는 생각이 듭니다만.

서비스 커넥션은 따로 빼서 필요할때만 사용할수 있지 않을까 하네요. 

자바쪽 문법이 필요한것 같아서 이렇게 자문을 구하게 되었습니다.


저 부분을 모든 액티비티에서 공유를 하려면 어떻게 해야 할까요?

좋은 답변 부탁드립니다.