AIDL傳輸複雜資料示例

2021-09-02 03:00:31 字數 2495 閱讀 8709

public class person implements parcelable 

public person(integer id, string name, string pass)

public integer getid()

public void setid(integer id)

public string getname()

public void setname(string name)

public string getpass()

public void setpass(string pass)

@override

public int hashcode()

@override

public boolean equals(object obj)

else if (!name.equals(other.name))

return false;

if (pass == null)

else if (!pass.equals(other.pass))

return false;

return true;

} // 實現parcelable介面必須實現的方法

@override

public int describecontents()

// 實現parcelable介面必須實現的方法

@override

public void writetoparcel(parcel dest, int flags)

// 新增乙個靜態成員,名為creator,該物件實現了parcelable.creator介面

public static final parcelable.creatorcreator

= new parcelable.creator()

@override

public person newarray(int size)

};

public class pet implements parcelable 

public pet(string name, double weight)

public string getname()

public void setname(string name)

public double getweight()

public void setweight(double weight)

@override

public int describecontents()

@override

public void writetoparcel(parcel dest, int flags)

// 新增乙個靜態成員,名為creator,該物件實現了parcelable.creator介面

public static final parcelable.creatorcreator

= new parcelable.creator()

@override

public pet newarray(int size)

};@override

public string tostring()

}

person.aidl

parcelable person;
pet.aidl

parcelable pet;
說明一下,在api guides上是這樣說的:

parcelableparcelable

.中。

import com.example.aidlservice.person;

import com.example.aidlservice.pet;

inte***ce ipet

注意,即使都在乙個包中,也必須import,但是list就不需要import。

public class complexaidlservice extends service 

@override

public ibinder onbind(intent arg0)

class complexbinder extends ipet.stub

}@override

public void oncreate()

@override

public void ondestroy()

}

private serviceconnection connection = new serviceconnection() 

@override

public void onserviceconnected(componentname name, ibinder service)

};

複雜資料型別

1 在c語言中,除了之前學到的基本資料型別 整型,浮點型,字元型 外,還有指標型別和構造型別 結構型,聯合型,列舉型 2 結構體型別,用於把不同型別的資料組合成乙個集合體,宣告格式 struct 結構名 例如 includestruct students void main 結構體的特點是 表示更豐...

複雜資料型別

1結構體 相當於是高階語言裡的類,但是他沒有方法,也就是行為,只有屬性,也就是成員,結構體相當於是自定義類 宣告struct students 當我們需要使用結要用結構體裡的類的屬性時,我們需要通過 運算子來進行呼叫,比如 students.age 2列舉它被用來存放固定的不可改變的型別,比如說,四...

複雜資料型別

1 定義形式 指向的內容的型別 指標名 2 存在空指標 3 指標變數存的是位址。提到指標便會有乙個指向關係。4 指標可以動態申請陣列new。使用後可以delete 5 陣列名是乙個常指標。它指向的位址不再改變。6 指標 指標有當前指向的位置,也就是指標存的位址,加乙個此指標所指向的內容的位元組數大小...