什么是AIDL
AIDL (Android Interface Definition Language, Android接口定義語言)
在不同的進程(應用)之間進行數據交換,就要約定 之間的通信接口。
從面向對象的角度來看,接口設計要考慮狀態(tài)和行為。一般來說,接口定義的內容分為:
1.方法操作(描述行為)
2.參數(描述狀態(tài),數據的類型,數據的載體/實體)
AIDL是一種IDL,它有特有的語法描述。我們需要編寫一個AIDL文件作為約定。它的語法非常類似java語法。
它支持基礎數據類型,比如 int,String,float等。
它支持實體類,必須是實現了Parcelable接口,支持序列化。
AIDL通過服務綁定的方式來使用。你需要定義一個service,傳遞一個 IBinder對象。這個 IBinder對象具有我們需要的方法。
拿到這個對象后執(zhí)行具體方法。
AIDL分為 服務端和客戶端
服務端即服務提供著,提供可操作的方法和數據。
客戶端即調用者,使用方法和數據。
什么時候適合使用AIDL:
官方文檔建議只有你允許客戶端從不同的應用程序為了進程間的通信而去訪問你的service,以及想在你的service處理多線程。
步驟說明
服務端開發(fā)步驟如下:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數據結構來看看(二) 2017-07-26