aidl原理和使用方法?
AIDL(Android Interface Define Language)是一種IPC通信方式,我們可以利用它來定義兩個進程相互通信的接口。他是基于Service實現的一種線程間通信機制。它的本質是C/S架構的,需要一個服務器端,一個客戶端。
首先我們在AndroidStudio中創建一個Andorid工程,
? 隨后添加一個module,作為aidl的服務端
? 在aidlserver中創建aild目錄, 同時創建一個aidl文件
這邊可以看到aidl的語法跟JAVA是一樣的,聲明了一個接口,里面定義了aidl服務器端暴露給客戶端調用的方法。? 完成這部分操作之后還沒有結束,我們需要手動編譯程序,生成aidl對應的Java代碼
我們創建了一個service,并在service內部聲明了一個IBinder對象,它是一個匿名實現的IMyAidlInterface.Stub的實例(這部分我們后面講),同時我們在發現IMyAidlInterface.Stub實例實現了add方法,這個方法正是我們在aidl中聲明的供客戶端調用的方法。