android開發(fā)系列之a(chǎn)idl

      aidl在android開發(fā)中的主要作用就是跨進程通訊來著,說到進程相比很多人都是非常熟悉了,但是為什么會有跨進程通訊這個概念呢?原來在android系統(tǒng)中,有這么一套安全機制,為了各個Apk數(shù)據(jù)的獨立性、安全性,它們彼此之間是不能直接進行數(shù)據(jù)的訪問的。所以為了實現(xiàn)多個APK之間的數(shù)據(jù)、方法、代碼復用,我們通常采用的做法就是定義好AIDL接口,這樣就能夠既保護現(xiàn)有代碼的邏輯性、同時又能夠兼顧好封裝性,各個團隊之間只需要溝通好AIDL接口定義就可以了。

      下面讓我們直接進入主題吧,在進行AIDL定義的時候,通常會將公用的代碼邏輯單獨封裝到一個獨立的APK中,這個APK我們不妨成為服務器Server。當定義好Server斷邏輯之后,就可以供其他第三方代碼調用了,這個第三方Apk我們不妨成為Client。但是Server和Client方,必須同時保證AIDL文件名稱相同,同時又在相同的包名下面。只有同時滿足這兩點的話,才能利用AIDL進行通訊。

      假如有一套公用的計算方法,在多個第三方APK中都需要調用。所以定義兩個android project,一個服務端程序AidlServer,一個客戶端測試程序TestClient。其中服務端、客戶端的AIDL接口文件都位于包“com.example.aidl下面”,定義好ICal.aidl文件,代碼如下:

<samp id="9grzf"><label id="9grzf"></label></samp>
    <bdo id="9grzf"></bdo>

        1
        2

        我想了解如何學習

        姓名:
        手機:
        留言: