1、建立aidl介面檔案,如果介面檔案中用到aidl非預設支援的資料型別,那麼還要該資料型別還要先通過aidl檔案定義。所以aidl檔案可以分為兩類:一類為一類是用來定義parcelable物件,以供其他aidl檔案使用aidl中非預設支援的資料型別的。一類是用來定義方法介面,以供系統使用來完成跨程序通訊的。
2、在服務端中建立乙個類(binder)繼承自adil介面中的stub類並實現stub中的抽象方法,然後再onbind()方法中返回這個類的物件;
3、在客戶端中建立serviceconnection例項,在onserviceconnection()方法中可以獲得服務端返回的binder例項,接著通過bindservice可以通過binder遠端訪問服務端中的實現aidl檔案的方法;
1、adil檔案所用到的自定義parcelable物件必須要顯示import進來,不管這個自定義類是否和當前aidl檔案在同乙個包內;
2、如果aidl檔案中用到parcelable物件,必須新建乙個和它同名的aidl檔案,並在其中宣告它為parcelable型別;
3、aidl介面中只支援方法,不支援宣告靜態變數,這點還是有區別於傳統介面;
4、aidl的包結構在服務端和客戶端要保持一致,因為客戶端要反序列化服務端中和aidl相關的所有類,如果類的路徑不一致,無法成功反序列化;
5、客戶端呼叫遠端服務方法,同時客戶端執行緒會被掛起,如果服務端被呼叫的方法比較耗時,那麼就要避免在客戶端ui執行緒中訪問遠端方法;
6、由於服務端的方法在服務端的binder執行緒池中執行,所以方法本身可以進行大量耗時操作,所以切記不要在服務端方法中開執行緒進行非同步任務;
專案上線步驟及注意事項
專案上線 1.網頁 2.伺服器軟體 3.需要乙個伺服器 區域網 外網環境 買一台伺服器 設定電腦屬性遠端設定 把允許使用網路級別身份驗證的遠端桌面關了 1.網頁上線 nginx方到伺服器 cd到nginx html就是www目錄 訪問目錄 2.api上線 介面 postman 測試 把api檔案拉進...
安裝cx Oracle 的步驟及注意事項
cx oracle安裝步驟 cx oracle 5.3 12c.win amd64 py3.6 2.exe 5.3 指cx oracle版本 12c 指oracle 版本 amd64 指作業系統是64位 py3.6 指python是3.6版本 python oracle 32位 64配置oracle...
android Hid 實現注意事項
使用cypress平台上時,除錯a g sensor時,通過hid協議在android上列舉出hid的裝置檔案,因為a g是一體的,所以cypress將a g的資料通過乙個hid通道資料傳送,android層主動傳送取資料的命令,cpress 這面將資料傳送到hid裝置檔案中,但是遇到有時候a g的...