什么是AIDL

AIDL (Android Interface Definition Language, Android接口定義語言)
在不同的進(jìn)程(應(yīng)用)之間進(jìn)行數(shù)據(jù)交換,就要約定 之間的通信接口。

從面向?qū)ο蟮慕嵌葋砜?,接口設(shè)計要考慮狀態(tài)和行為。一般來說,接口定義的內(nèi)容分為:
1.方法操作(描述行為)
2.參數(shù)(描述狀態(tài),數(shù)據(jù)的類型,數(shù)據(jù)的載體/實體)

AIDL是一種IDL,它有特有的語法描述。我們需要編寫一個AIDL文件作為約定。它的語法非常類似java語法。
它支持基礎(chǔ)數(shù)據(jù)類型,比如 int,String,float等。
它支持實體類,必須是實現(xiàn)了Parcelable接口,支持序列化。

AIDL通過服務(wù)綁定的方式來使用。你需要定義一個service,傳遞一個 IBinder對象。這個 IBinder對象具有我們需要的方法。
拿到這個對象后執(zhí)行具體方法。

AIDL分為 服務(wù)端和客戶端
服務(wù)端即服務(wù)提供著,提供可操作的方法和數(shù)據(jù)。
客戶端即調(diào)用者,使用方法和數(shù)據(jù)。

什么時候適合使用AIDL:
官方文檔建議只有你允許客戶端從不同的應(yīng)用程序為了進(jìn)程間的通信而去訪問你的service,以及想在你的service處理多線程。

步驟說明

服務(wù)端開發(fā)步驟如下:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式