android中AIDL程序間通訊
阿新 • • 發佈:2018-12-14
為了實現程序間通訊,尤其是在涉及多程序併發情況下的程序間通訊。因為多個程序是不共享一片記憶體區域,所以不能實現資料共享。
步驟: 1.建立aidl的介面,並且定義兩個執行緒之間通訊的方法。一般用於activity和Service之間的通訊。 2.如果是建立自定義的類,需要在介面方法中指明資料流通的方向,如果方向不正確的話,是不能獲取資料的。 3.對於自定義的Bean 一定要保證在java包下和aidl包下的結構完全一致。並且為parcelable XXX的形式
4.點選build ,進行生成aidl的檔案,然後建立相應的service.然後生成aidl的IBinder物件
5.在activity中建立service的連線 並且獲取到aidl的物件,根據物件進行操作資料,進行資料的傳遞
問題: 1.aidl和java中的bean的包名要保持一致 2.in out inout 方向表示資料傳遞的方向 3.自定義的bean類生成的parceble物件的時候,需要新增方法 public void readFromParcel(Parcel in) { name = in.readString(); age = in.readInt(); } as的程式碼模板預設沒有新增