- 創建服務端項目
- 創建客戶端項目
客戶端調用服務端中的方法
一:創建服務端項目
創建兩個文件
TestAidl.aidl 與 AidlService.java
TestAidl.aidl
AidlService.java
到這服務端就OK了,注意其中的Stub是Aidl文件自動生動的。
二:創建客戶端項目
1.將服務端的aidl文件拿到客戶端並保持目錄名一樣
2.啓動服務,調用aidl
AidlActivity.java
public class AIDLActivity extends AppCompatActivity {
String TAG="AIDLActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aidl);
}
public void testAidl(View view){
AIDLActivity.this.bindService(new Intent("AIDL_SERVICE_TEST"), conn, BIND_AUTO_CREATE);
}
public void stopAidl(View view) {
try{
AIDLActivity.this.unbindService(conn);
LogUtil.v(TAG, "stop");
}catch (Exception e){
Toast.makeText(this,"服務沒有啓動!",Toast.LENGTH_SHORT).show();
}
}
protected ServiceConnection conn=new ServiceConnection(){
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
TestAidl aidl=TestAidl.Stub.asInterface(service);
try {
String message=aidl.sayFormOtherProcess();
Toast.makeText(AIDLActivity.this,message,Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 連接異常時調用
* @param name
*/
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
}
到這裏就演示完了,當然,沒有講解,適合搞過aidl又忘得差不多的人看,小白請走大道