AIDL的使用流程

2021-08-31 20:55:02 字數 1232 閱讀 9251

android 提供的程序間通訊的框架是aidl,使用他可以更方便的進行程序間的通訊,現在讓我們來寫乙個demo。

程序間通訊,分為兩個角色,服務端和客戶端,服務端提供技術支援,客戶端申請服務端方法。

首先我們寫編寫服務端程序:

第一步:是建立.aidl檔案,該檔案就是告訴其他客戶端我可以提供哪些技術的支援

inte***ce aidltest
第二步:編譯完成後,我們就要實現.aidl檔案中的方法,我們需要建立乙個stub類,繼承aidltest.stub類

public class aidlteststub extends aidltest.stub

}

第三步:實現了方法後,接下來我們就要通過service的方法將該stub物件輸出給其他程序。

/**

* created by malei on 2018/11/13.

* 對外提供服務的binder

*/public class aidltestnative extends service

public string getname(string name) throws remoteexception

@nullable

@override

public ibinder onbind(intent intent)

}

然後給service進行註冊

第四步:編寫客戶端**

客戶端要鏈結到其他程序,就需要使用bindservice()

intent intent = new intent(this, aidltestnative.class);

bindservice(intent, mserviceconnection, context.bind_auto_create);

然後獲取程序的鏈結狀態和其他程序的ibinder

private serviceconnection mserviceconnection = new serviceconnection()  catch (remoteexception e) }}

@override

public void onservicedisconnected(componentname name)

};

aidl的使用簡介

客戶端 private isizeaidlinte ce sizeinte ce private serviceconnection connection new serviceconnection override public void onservicedisconnected compone...

AIDL的基本使用

inte ce imyaidlinte cepublic class aidlremoteservice extends service nullable override public ibinder onbind intent intent 3,在androidmanifest中註冊 檢視列印結...

service和aidl的區別

service 是在當前程序中新開執行緒,aidl 是系統新開程序,屬於另乙個程序。aidl 就是處理客戶端和服務端的 ipc 通訊實現的方式,通過 aidl 機制,客戶端通過呼叫服務端提供的介面。便於跨程序呼叫其他應用程式。如果你的應用程式不涉及其他應用時,沒有必要使用 aidl 機制。servi...