一. 概述:
跨程序通訊(aidl),主要實現程序(應用)間資料共享功能。
二. 實現流程:
1. 伺服器端實現:
(1)目錄結構,如下圖:
(2)實現*.aidl檔案:
a. iaidlservice.aidl實現:
import com.focus.aidl.person;
inte***ce iaidlservice
b. person.aidl實現: parcelable person;
(3)程序間傳遞物件必需實現parcelable或serializable介面,下面是被傳遞的person物件實現:
package eoe.demo;
import android.os.parcel;
import android.os.parcelable;
public class person implements parcelable
public person(parcel source)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
public int describecontents()
public void writetoparcel(parcel dest, int flags)
public static final parcelable.creator creator = new creator()
public person createfromparcel(parcel source)
}; }
(4)實現iaidlservice.aidl檔案中定義的介面,並定義service,在service被bind時返回此實現類:
01 package eoe.demo;
02 03 import com.focus.aidl.iaidlservice.stub;
05 import android.content.intent;
06 import android.os.ibinder;
07 import android.os.remoteexception;
08 09 public class aidlserviceimpl extends service
15 16 /**
17 * 在aidl檔案中定義的介面實現。
18 */
19 private iaidlservice.stub mbinder = new stub()
25 26 public person getperson() throws remoteexception
34 35 };
36 37 }
(5)在androidmanifest.xml檔案中註冊service:
1 2
3 4 5
6 7
Android 跨程序通訊(一)
一.概述 跨程序通訊 aidl 主要實現程序 應用 間資料共享功能。二.實現流程 1.伺服器端實現 1 目錄結構,如下圖 2 實現 aidl檔案 a.iaidlservice.aidl實現 import com.focus.aidl.person inte ce iaidlservice b.per...
Android跨程序通訊的幾種方式
今天我要介紹的四種跨程序通訊方式就是四種間接通訊方式。這四種跨程序通訊的方式,方式一 bundle。bundle實現了parcelable介面,在android中不同的應用執行在不同的程序中。通過intent啟動其他應用的元件activity,service,receiver 時,可以將資料儲存在b...
Android中跨程序通訊的幾種方式
安卓中的四大元件,就是為了解決跨程序通訊的問題 1.廣播 2.contentprovide 3.service裡面常用的aidl 其實就是binder機制 4.activity 如呼叫系統通話應用 需要乙個uri intent callintent new intent intent.action ...