1. 인터페이스(aidl) 생성
2. 구현클래스 생성
3. 메니페스트에 적고
4. 엑티비티에서 해당 클래스를가져와서
5. 구현된 함수를 사용.
의 순서로 진행됩니다.
사실 엑티비티 레벨이니 서비스 레벨이니 신경안써도 돼는 작은 어플에서는 샤용할일이 없을듯.
1. aidl
2. impl class
3. manifest
4. class load
먼저 서비스 인터페이스를 담을 변수를 선언
온크리에이트에 넣을 내용. (상식이있는 인간이라면 ServiceConnection을 밖으로 빼겠지만 졸려죽겠는데 그런거없다능.)
5. use
요거 한줄하려고 이고생을!
지금 생각해보니 평소하던데로
XxxService , XxxServiceImpl이라는 편이 차라리 읽기 편하지 싶음.
I를 앞에붙여서 인터페이스임을 표시하는게 어느동네 표기법이더라?
2. 구현클래스 생성
3. 메니페스트에 적고
4. 엑티비티에서 해당 클래스를가져와서
5. 구현된 함수를 사용.
의 순서로 진행됩니다.
사실 엑티비티 레벨이니 서비스 레벨이니 신경안써도 돼는 작은 어플에서는 샤용할일이 없을듯.
1. aidl
package hell.o;
interface IPlusItService {
int add(int a, int b);
}
2. impl class
package hell.o;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
public class PlusItService extends Service {
@Override
public IBinder onBind(Intent intent) {
if (IPlusItService.class.getName().equals(intent.getAction())) {
return plusItServiceIf;
}
return null;
}
private IPlusItService.Stub plusItServiceIf = new IPlusItService.Stub() {
@Override
public int add(int a, int b) throws RemoteException {
return a + b;
}
};
}
<service android:name="PlusItService">
<intent-filter>
<action android:name="hell.o.IPlusItService"></action>
</intent-filter>
</service>
private IPlusItService plusItServiceIf
Intent intent = new Intent(IPlusItService.class.getName());
bindService(intent, new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
plusItServiceIf = IPlusItService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
plusItServiceIf = null;
}
}, BIND_AUTO_CREATE);
5. use
int sum = plusItServiceIf.add(a, b);
지금 생각해보니 평소하던데로
XxxService , XxxServiceImpl이라는 편이 차라리 읽기 편하지 싶음.
I를 앞에붙여서 인터페이스임을 표시하는게 어느동네 표기법이더라?
'old > Basic' 카테고리의 다른 글
Android Bitmap Object Resizing Tip (0) | 2010.07.06 |
---|---|
Handler (0) | 2010.07.06 |
zygote & Dalvik VM (0) | 2010.07.06 |
안드로이드 HAL - RIL(Radio Interface Layer) (0) | 2010.07.06 |
안드로이드 초기화 (init 프로세스와 기타 서비스 등록) (0) | 2010.07.06 |