Aidl开发流程(android studio)
1,server端:新建aidl文件IMyInterface,在aidl文件中声明功能方法。
2,执行 build ->make project
3,新建ServerService继承Service,在onBind方法中实现
IMyInterface.stub并返回:
public IBinder onBind(Intent intent) {
return new IMyAidlInterface.Stub() {
@Override
public void showHello() throws RemoteException {
System.out.println("------Hello World");
}
};
}
4,在activity中通过intent启动service,在清单文件中配置service
android:name=".BinderServer">
5,运行到手机上
客户端:
1,新建项目,将上文 的aidl文件复制到build\generated\source\aidl\debug\目
录下,包名保持和服务端一致
2,activity中,通过服务端配置的action隐式启动service
Intent intent = new Intent();
intent.setAction("hello.world.service");
bindService(intent, new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder
service) {
myBinder = IMyAidlInterface.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
myBinder = null;
}
}, BIND_AUTO_CREATE);
3,通过myBinder调用服务端service中实现的方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.