1. 程式人生 > >android中AIDL程序間通訊

android中AIDL程序間通訊

為了實現程序間通訊,尤其是在涉及多程序併發情況下的程序間通訊。因為多個程序是不共享一片記憶體區域,所以不能實現資料共享。

步驟: 1.建立aidl的介面,並且定義兩個執行緒之間通訊的方法。一般用於activity和Service之間的通訊。 在這裡插入圖片描述 2.如果是建立自定義的類,需要在介面方法中指明資料流通的方向,如果方向不正確的話,是不能獲取資料的。 在這裡插入圖片描述 3.對於自定義的Bean 一定要保證在java包下和aidl包下的結構完全一致。並且為parcelable XXX的形式 在這裡插入圖片描述

4.點選build ,進行生成aidl的檔案,然後建立相應的service.然後生成aidl的IBinder物件 在這裡插入圖片描述

5.在activity中建立service的連線 並且獲取到aidl的物件,根據物件進行操作資料,進行資料的傳遞 在這裡插入圖片描述

6.進行資料的互動 在這裡插入圖片描述 7.在功能清單中進行配置程序 在這裡插入圖片描述

問題: 1.aidl和java中的bean的包名要保持一致 2.in out inout 方向表示資料傳遞的方向 3.自定義的bean類生成的parceble物件的時候,需要新增方法 public void readFromParcel(Parcel in) { name = in.readString(); age = in.readInt(); } as的程式碼模板預設沒有新增