一、引言

  AIDL是android內(nèi)部進(jìn)程通信接口的描述語(yǔ)言,是實(shí)現(xiàn)跨進(jìn)程方法調(diào)用的一大利器,其中Binder和Messenger的實(shí)現(xiàn)機(jī)制都是AIDL。

二、使用下面結(jié)合示例說(shuō)明其使用過(guò)程:

  本次示例的基本要求是完成一個(gè)圖書館圖書入庫(kù)和在庫(kù)圖書列表查詢的demo,

  1、為了完成這個(gè)功能,我們首先需要一個(gè)實(shí)體類Book,這個(gè)實(shí)體類需要序列化,因?yàn)橹挥行蛄谢院蟮腂ook對(duì)象才能在AIDL中使用。

  2、接下來(lái)我們需要新建Book.aidl和IBookManager.aidl

         我們需要在Book.aidl聲明這個(gè)Book類,并在IBookManager中導(dǎo)入Book.aidl并實(shí)現(xiàn)兩個(gè)功能:addBook和getBookList

  3.reBuild項(xiàng)目,這樣就會(huì)自動(dòng)生成IbookManager.java這個(gè)AIDL文件。(如果查找不到Book類,請(qǐng)參看我的另外一篇文章,Binder的機(jī)制淺析)

  4.接下來(lái)的我們就需要在客戶端和服務(wù)端完成對(duì)應(yīng)的工作:

 下面簡(jiǎn)單介紹一下Service和Client中的實(shí)現(xiàn)內(nèi)容。(具體代碼在最后貼出)

網(wǎng)友評(píng)論