什么是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ā)步驟如下:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26