AIDL淺析

AIDL:Android Interface Definition Language,即Android接口定義語言。

1. AIDL寫法

這裏寫圖片描述

❤ 寫法跟Java代碼類似,但是這裏有一點值得注意的就是它可以引用其它aidl文件中定義的接口,但是不能夠引用你的java類文件中定義的接口。

❤ 編譯aidl文件,會生成java文件,即AIDLService.java,文件內容如下:

這裏寫圖片描述
這裏寫圖片描述

❤ 編譯生成的.java文件、Stub、Proxy之間的結構關係圖

這裏寫圖片描述

2. 實現AIDL接口方法

❤ Stub是Binder類型,並且實現了IMyAidlInterface AIDL中聲明的basicTypes()方法

這裏寫圖片描述

3. 綁定服務

這裏寫圖片描述

❤ 在客戶端通過mIMyService = IMyAidlInterface.Stub.asInterface(service)得到的就是Proxy對象,可以通過這個對象間接的調用服務端的各個方法,而具體調用過程就是經過mRemote.transact傳輸給真正的Service。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章