Parcel 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。
[Android.Runtime.Register("android/os/Parcel", DoNotGenerateAcw=true)]
public sealed class Parcel : Java.Lang.Object
[<Android.Runtime.Register("android/os/Parcel", DoNotGenerateAcw=true)>]
type Parcel = class
inherit Object
- 繼承
- 屬性
備註
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 一個 Parcel 可以包含在 IPC 另一端會恢復扁平化的資料(使用這裡的各種寫入特定類型或通用 Parcelable 介面的方法),以及對活物件 IBinder 的參考,這些資料會讓對方接收與 Parcel 中原始 IBinder 相關的代理 IBinder。
Parcel 是 <強>的,不</強> 的是一種通用的序列化機制。 此類別(以及將任意物件放入 Parcel 的相應 Parcelable API)被設計為高效能的 IPC 傳輸。 因此,將任何 Parcel 資料放入持久儲存是不適當的:若 Parcel 資料的底層實作有變更,可能會使舊資料無法讀取。
Parcel API 的大部分內容圍繞著各種類型的資料讀寫。 此類函數主要分為六大類。
<h3>原始體</h3>
最基本的資料函式用於寫入和讀取原始資料型態:#writeByte, #readByte, #writeDouble#readDouble#writeFloat#readFloat#writeInt#readInt#writeLong#readLong#writeString, 。 #readString 大多數其他資料操作都是建立在這些基礎之上。 所給資料是根據主機 CPU 的長度來寫入和讀取的。
<h3>原始陣列</h3>
有多種方法可以讀寫原始物件的原始陣列,通常會寫入 4 位元組長度,接著是原始資料項目。 讀取方法可以將資料讀入現有陣列,或建立並回傳新的陣列。 這些可用類型包括:
<ul><li>#writeBooleanArray(boolean[]), #readBooleanArray(boolean[]), #createBooleanArray()<>#writeByteArray(byte[])li, #writeByteArray(byte[], int, int)#readByteArray(byte[]), li#createByteArray()<>#writeCharArray(char[]), #readCharArray(char[]), li, , #createCharArray()<>#writeDoubleArray(double[])li, , #readDoubleArray(double[])#createDoubleArray()<>#writeFloatArray(float[])#readFloatArray(float[])#createFloatArray()<>#writeIntArray(int[])#readIntArray(int[])#createIntArray()<>li, #writeLongArray(long[]), li, , li, #readLongArray(long[])#createLongArray()<>#writeStringArray(String[])#readStringArray(String[])#createStringArray(), .
<李>#writeSparseBooleanArray(SparseBooleanArray), #readSparseBooleanArray()。
</ul>
<h3>可包裹/<h3>
該 Parcelable 協定提供一種極為高效(但低階)的協定,讓物件能從 Parcels 中寫入與讀取。 你可以用直接方法 #writeParcelable(Parcelable, int) 和 或 #readParcelable(ClassLoader)#writeParcelableArray 和 來 #readParcelableArray(ClassLoader) 寫作或閱讀。 這些方法會將類別類型及其資料寫入 Parcel,允許在後續讀取時從適當的類別載入器重建該類別。
還有一些方法提供更有效率的 Parcelables 處理方式:、#writeTypedObject、#writeTypedArray#writeTypedList#readTypedObject#createTypedArray#createTypedArrayList、 、 。 這些方法不會寫入原始物件的類別資訊:讀取函式的呼叫者必須知道該期待並傳遞適當的 Parcelable.Creator Parcelable.Creator 類型,才能正確建構新物件並讀取其資料。 (若想更有效率地寫入並讀取非空的單一 Parcelable 物件,你可以直接呼叫 Parcelable#writeToParcel Parcelable.writeToParcel 和 Parcelable.Creator#createFromParcel Parcelable.Creator.createFromParcel 自己。)
<h3>組合</h3>
一種特殊的 Bundle型別安全容器稱為 ,可用於異質值的鍵值映射。 此系統有許多優化以提升讀寫資料的效能,且其型別安全 API 避免了在將資料內容編入 Parcel 時出現難以除錯的型別錯誤。 使用方法分別為 #writeBundle(Bundle)、 #readBundle()、 #readBundle(ClassLoader)和 。
<h3>主動物件</h3>
Parcel 的一個特殊功能是能夠讀取和寫入主動物件。 對於這些物件,物件的實際內容不會被寫入,而是寫入一個特殊的標記來參考該物件。 從 Parcel 讀取物件時,你不會得到該物件的新實例,而是會得到一個對原本寫入物件完全相同的 handle 操作。 有兩種形式的主動物體。
Binder 物件是 Android 通用跨程序通訊系統的核心功能。 介面 IBinder 描述一個抽象協定,包含 Binder 物件。 任何此類介面都可以寫入 Parcel,讀取後你會收到實作該介面的原始物件,或是一個特殊的代理實作,該實作會回傳給原始物件。 可用的#writeStrongBinder(IBinder)方法是 , #writeStrongInterface(IInterface), #readStrongBinder(), 。 #writeBinderArray(IBinder[])#readBinderArray(IBinder[])#createBinderArray()#writeInterfaceArray(T[])#readInterfaceArray(T[], Function)#createInterfaceArray(IntFunction, Function)#writeBinderList(List)#readBinderList(List)#createBinderArrayList()#writeInterfaceList(List)#readInterfaceList(List, Function)#createInterfaceArrayList(Function)
FileDescriptor 物件,代表原始的 Linux 檔案描述符識別碼,可以被寫入並 ParcelFileDescriptor 回傳物件以操作原始檔案描述符。 回傳的檔案描述符是原始檔案描述符的重複版本:物件與 fd 不同,但操作於相同的底層檔案串流,位置相同,等等。使用方法為 #writeFileDescriptor(FileDescriptor), #readFileDescriptor()。
<h3>可包裹容器</h3>
最後一類方法用於撰寫和讀取任意型別的標準 Java 容器。 這些方法都#writeValue(Object)#readValue(ClassLoader)圍繞著定義允許的物件類型。 容器方法包括 #writeArray(Object[])、 #readArray(ClassLoader)、 #writeList(List)#readList(List, ClassLoader)#readArrayList(ClassLoader)#writeMap(Map)#readMap(Map, ClassLoader)#writeSparseArray(SparseArray)#readSparseArray(ClassLoader)。
<h3>受限包裹貨櫃</h3>
最後一類方法用於讀取受限型別的標準 Java 容器。 這些方法取代了從 Android Build.VERSION_CODES#TIRAMISU開始的前一節中任意型態容器的讀取方法。 配對寫作方法仍與前一節相同。 這些方法接受額外的 clazz 參數作為所需類型。 受限可包裹容器方法分別為 #readArray(ClassLoader, Class)、 #readList(List, ClassLoader, Class)、 #readArrayList(ClassLoader, Class)#readMap(Map, ClassLoader, Class, Class)#readSparseArray(ClassLoader, Class)、 , 。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| HasFileDescriptors |
報告該包裹是否包含任何編組檔案描述符。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| JniPeerMembers |
提供此類型的 JNI 同儕成員元資料。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| StringCreator |
取得 StringCreator 的值。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| AppendFrom(Parcel, Int32, Int32) |
附加來自其他包裹的資料。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| CreateBinderArray() |
從這個 parcel 建立綁定器陣列值。 |
| CreateBinderArrayList() |
讀取並回傳一個新的 ArrayList,包含 IBinder 物件,該 parcel 在當前 dataPosition() 處寫 |
| CreateBooleanArray() |
從這個 parcel 建立布林陣列值。 |
| CreateByteArray() |
讀取並回傳一個位元組物件。 |
| CreateCharArray() |
從這個 parcel 建立 char 陣列值。 |
| CreateDoubleArray() |
從這個 parcel 建立 double 陣列值。 |
| CreateFixedArray(Class, IFunction, Int32[]) |
讀取並回傳一個新的多維型態介面陣列,從 parcel 中。 |
| CreateFixedArray(Class, Int32[]) |
從一個包裹讀取並回傳一個新的多維陣列。 |
| CreateFixedArray(Class, IParcelableCreator, Int32[]) |
讀取並回傳一個新的多維類型 parcelables 陣列。 若先前寫入的陣列物件為空,則回傳 null。 如果你想讀取 IInterface 的值,請使用 createFixedArray(Class, Function, int[]) 。 對於其他類型值,請使用 createFixedArray(Class,int[]) 。 |
| CreateFloatArray() |
從這個 parcel 建立浮點陣列值。 |
| CreateIntArray() |
從這個 parcel 建立整數陣列值。 |
| CreateInterfaceArray(IIntFunction, IFunction) |
從包裹中讀取並回傳新的 T(內面)陣列。 |
| CreateInterfaceArrayList(IFunction) |
讀取並回傳一個包含 T(內面)物件的新 ArrayList,該物件來自當前 dataPosition() 處的 |
| CreateLongArray() |
從這個 parcel 建立長陣列值。 |
| CreateStringArray() |
從這個 parcel 建立字串陣列值。 |
| CreateStringArrayList() |
讀取並回傳一個新的 ArrayList,包含來自 parcel 的 String 物件,該物件在當前 dataPosition() 處被寫 |
| CreateTypedArray(IParcelableCreator) |
讀取並回傳包含特定物件類型的新陣列,位於當前 dataPosition()。 |
| CreateTypedArrayList(IParcelableCreator) |
讀取並回傳一個新的 ArrayList,包含特定物件類型的 parcel,該 |
| CreateTypedArrayMap(IParcelableCreator) |
讀取到一個新字 |
| CreateTypedSparseArray(IParcelableCreator) |
讀取到包含特定物件類型的新 |
| DataAvail() |
回傳該包裹中剩餘資料量。 |
| DataCapacity() |
回傳地塊內的總空間。 |
| DataPosition() |
回傳包裹資料中的當前位置。 |
| DataSize() |
回傳包裹中包含的總資料量。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| EnforceInterface(String) |
讀取 writeInterfaceToken 所寫的標頭,並確認其與相關介面名稱相符。 |
| EnforceNoDataAvail() |
確認包裹上沒有剩餘的位元組可讀取。 |
| Equals(Object) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| InvokeHasFileDescriptors(Int32, Int32) |
報告該區塊是否包含由 和 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Marshall() |
回傳該 parcel 的原始位元組。 |
| Marshall(ByteBuffer) |
將 parcel 的原始位元組寫入緩衝區。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Obtain() |
從池中取出一個新的 Parcel 物件。 |
| Obtain(IBinder) |
從池中取出一個新的 Parcel 物件,用於特定的綁定器。 |
| ReadArray(ClassLoader, Class) |
和 一樣 |
| ReadArray(ClassLoader) |
從 parcel 讀取並回傳一個新的 Object 陣列,位於當前 dataPosition()。 |
| ReadArrayList(ClassLoader, Class) |
和 一樣 |
| ReadArrayList(ClassLoader) |
從 parcel 讀取並回傳一個新的 ArrayList 物件,位於目前的 dataPosition()。 |
| ReadBinderArray(IBinder[]) |
讀取這個 parcel 的 binder 陣列值。 |
| ReadBinderList(IList<IBinder>) |
讀取給定的清單項目 IBinder 物件,這些物件是用 reportPosition() 寫入 |
| ReadBlob() |
從 parcel 讀取一大塊資料,然後以位元組陣列的形式回傳。 |
| ReadBoolean() |
從 parcel 讀取當前 dataPosition() 的布林值。 |
| ReadBooleanArray(Boolean[]) |
讀取這個 parcel 的布林陣列值。 |
| ReadBundle() |
讀取並回傳當前 dataPosition() 的 parcel 中的一個新的 Bundle 物件。 |
| ReadBundle(ClassLoader) |
從當前 dataPosition() 讀取並回傳 parcel 中的一個新 Bundle 物件,使用指定的類別載入器初始化該 Bundle 的類別載入器,以便日後擷取 Parcelable 物件。 |
| ReadByte() |
從 parcel 讀取當前 dataPosition() 的位元組值。 |
| ReadByteArray(Byte[]) |
從 parcel 讀取一個位元組物件,並將其複製到指定的位元組陣列中。 |
| ReadCharArray(Char[]) |
讀取這個 parcel 的 char 陣列值。 |
| ReadDouble() |
從目前的資料區塊讀取一個雙精度浮點數值。 |
| ReadDoubleArray(Double[]) |
讀取這個包裹的雙陣列值。 |
| ReadException() |
特殊功能用於讀取 parcel 標頭的例外結果,並在收到交易結果後使用。 |
| ReadException(Int32, String) |
拋出一個包含該訊息的例外。 |
| ReadFileDescriptor() |
從 parcel 讀取 FileDescriptor ,地址為 current dataPosition()。 |
| ReadFixedArray(Object, IFunction) |
從一個 parcel 讀取一個新的多維類型介面陣列。 |
| ReadFixedArray(Object, IParcelableCreator) |
從一個 parcel 讀取一個新的多維 parcelables 類型陣列。 如果你想讀取 IInterface 的值,請使用 readFixedArray(Object,Function)。 其他類型的值請使用 readFixedArray(Object) 。 |
| ReadFixedArray(Object) |
從包裹中讀取新的多維陣列。 |
| ReadFloat() |
從 parcel 讀取浮點數值,位於當前 dataPosition()。 |
| ReadFloatArray(Single[]) |
讀取這個 parcel 的浮點數陣列值。 |
| ReadHashMap(ClassLoader, Class, Class) |
與 相同 |
| ReadHashMap(ClassLoader) |
請改用 |
| ReadInt() |
從 parcel 讀取當前 dataPosition() 的整數值。 |
| ReadIntArray(Int32[]) |
讀取此 parcel 的整數陣列值。 |
| ReadInterfaceArray(Object[], IFunction) |
從一個包裹讀取一個 T(內面)陣列。 |
| ReadInterfaceList(IList, IFunction) |
讀取了在當前 dataPosition() 上用 List() 寫入的 |
| ReadList(IList, ClassLoader, Class) |
和 一樣 |
| ReadList(IList, ClassLoader) |
從 parcel 讀取現有的 List 物件,位於目前的 dataPosition(),使用指定的類別載入器載入任何封閉的 Parcelables。 |
| ReadLong() |
從當前 dataPosition() 處讀取該包裹的長整數值。 |
| ReadLongArray(Int64[]) |
讀取此包裹的長陣列值。 |
| ReadMap(IDictionary, ClassLoader, Class, Class) |
與 相同 |
| ReadMap(IDictionary, ClassLoader) |
請改用 |
| ReadParcelable(ClassLoader, Class) |
和 一樣 |
| ReadParcelable(ClassLoader) |
閱讀並從包裹中退回新的可包裹件。 |
| ReadParcelableArray(ClassLoader, Class) |
和 一樣 |
| ReadParcelableArray(ClassLoader) |
讀取並從包裹中返回新的可包裹陣列。 |
| ReadParcelableCreator(ClassLoader, Class) |
與 readParcelableCreator(ClassLoader) 相同,但接受 clazz 參數作為必要的類型。 |
| ReadParcelableCreator(ClassLoader) |
閱讀並退回包裹。 |
| ReadParcelableList(IList, ClassLoader, Class) |
和 一樣 |
| ReadParcelableList(IList, ClassLoader) |
將當前資料位置的物件清單 |
| ReadPersistableBundle() |
讀取並回傳當前 dataPosition() 的 parcel 中的一個新的 Bundle 物件。 |
| ReadPersistableBundle(ClassLoader) |
從當前 dataPosition() 讀取並回傳 parcel 中的一個新 Bundle 物件,使用指定的類別載入器初始化該 Bundle 的類別載入器,以便日後擷取 Parcelable 物件。 |
| ReadSerializable() |
讀取並從 parcel 中回傳一個新的 Serializable 物件。 |
| ReadSerializable(ClassLoader, Class) |
和一樣 |
| ReadSize() |
從 parcel 讀取 Size ,位於目前 dataPosition()。 |
| ReadSizeF() |
從目前資料 dataPosition() 處讀取 parcel 中的 SizeF。 |
| ReadSparseArray(ClassLoader, Class) |
和 一樣 |
| ReadSparseArray(ClassLoader) |
讀取並回傳一個新的 SparseArray 物件,位於目前的 dataPosition()。 |
| ReadSparseBooleanArray() |
讀取並回傳當前 dataPosition() 的 parcel 中的 SparseBooleanArray 物件。 |
| ReadString() |
從 parcel 讀取當前 dataPosition() 的字串值。 |
| ReadStringArray(String[]) |
讀取這個 parcel 的字串陣列值。 |
| ReadStringList(IList<String>) |
在給定的清單項目中讀取了在當前 dataPosition() 處寫入的 |
| ReadStrongBinder() |
從 parcel 讀取當前 dataPosition() 的物件。 |
| ReadTypedArray(Object[], IParcelableCreator) |
讀取這個 parcel 的類型陣列值。 |
| ReadTypedList(IList, IParcelableCreator) |
讀取包含特定物件類型的清單項目,這些項目在目前的 dataPosition() 上被寫 |
| ReadTypedObject(IParcelableCreator) |
讀取並回傳一個已輸入的 Parcelable 物件。 |
| ReadValue(ClassLoader) |
讀取包裹中的類型物件。 |
| Recycle() |
把包裹物品放回池子裡。 |
| SetDataCapacity(Int32) |
更改地塊的容量(目前可用空間)。 |
| SetDataPosition(Int32) |
移動包裹中目前的讀寫位置。 |
| SetDataSize(Int32) |
改變包裹中的資料量。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| SetPropagateAllowBlocking() |
此方法被 AIDL 編譯器用於系統元件。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| Unmarshall(Byte[], Int32, Int32) |
用所提供的資料填滿該 Parcel 的原始位元組。 |
| Unmarshall(ByteBuffer) |
用所提供緩衝區的資料填滿此 Parcel 的原始位元組。 |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| WriteArray(Object[]) |
如有需要,將物件陣列壓扁成 parcel,位於目前的 dataPosition(), 成長 dataCapacity() 中。 |
| WriteBinderArray(IBinder[]) |
將綁定器陣列值寫入此 parcel。 |
| WriteBinderList(IList<IBinder>) |
將包含 IBinder 物件的清單平整成該區塊,並以當前 dataPosition() 並成長 dataCapacity() 進行。 |
| WriteBlob(Byte[], Int32, Int32) |
如果需要,將一塊資料寫入該區塊,且在當前 |
| WriteBlob(Byte[]) |
如果需要,將一塊資料寫入該區塊,且在當前 |
| WriteBoolean(Boolean) |
如有需要,將布林值寫入 parcel 中當前 dataPosition(), 成長中的 dataCapacity() 值。 |
| WriteBooleanArray(Boolean[]) |
將布林陣列值寫入此 parcel。 |
| WriteBundle(Bundle) |
如有需要,將 Bundle 平整成目前 dataPosition(), 成長中的 dataCapacity() 的地塊。 |
| WriteByte(SByte) |
如有需要,將目前 dataPosition(), growing dataCapacity() 的位元組值寫入該區塊。 |
| WriteByteArray(Byte[], Int32, Int32) |
如果需要,可以在 目前 |
| WriteByteArray(Byte[]) |
如果需要,可以在 目前 |
| WriteCharArray(Char[]) |
將 char 陣列值寫入此 parcel。 |
| WriteDouble(Double) |
如有需要,將雙精度浮點數值寫入 parcel 中當前 dataPosition(), 成長中的 dataCapacity() 值。 |
| WriteDoubleArray(Double[]) |
將 double array 值寫入此 parcel。 |
| WriteException(Exception) |
特殊功能用於在 parcel 標頭寫出例外結果,用於回傳交易的例外。 |
| WriteFileDescriptor(FileDescriptor) |
如有需要,可在目前的 dataPosition(), growing dataCapacity() 處寫入 FileDescriptor。 |
| WriteFixedArray(Object, Int32, Int32[]) |
將一個大小固定的齊次多維陣列壓平。 |
| WriteFloat(Single) |
如有需要,可在 parcel 中寫入浮點值,當前 dataPosition(), 成長中的 dataCapacity() |
| WriteFloatArray(Single[]) |
將浮點數陣列值寫入此 parcel。 |
| WriteInt(Int32) |
如有需要,在 parcel 的當前 dataPosition(), 成長 dataCapacity() 處寫入整數值。 |
| WriteIntArray(Int32[]) |
將整數陣列值寫入此 parcel。 |
| WriteInterfaceArray(Object[]) |
將包含 IInterface 類型的同質陣列平整化到該 parcel 中,並以當前 dataPosition() 進行,必要時則在 dataCapacity() 成長。 |
| WriteInterfaceList(IList) |
將一個 |
| WriteInterfaceToken(String) |
在目前 |
| WriteList(IList) |
如有需要,將清單平整成目前 dataPosition(), 的 parcel,並以 growingingdataCapacity() 進行。 |
| WriteLong(Int64) |
如有需要,可在目前 dataPosition(), growing dataCapacity() 處寫入一個長整數值。 |
| WriteLongArray(Int64[]) |
將長陣列值寫入此區塊。 |
| WriteMap(IDictionary) |
請改用 |
| WriteNoException() |
特殊功能用於在包裹前方寫入資訊,表示未發生例外。 |
| WriteParcelable(IParcelable, ParcelableWriteFlags) |
將可包裹物類別名稱及其內容物的名稱平整化成包裹。 |
| WriteParcelableArray(Object[], ParcelableWriteFlags) |
在 Parcel 中寫入一個異質的 Parcelable 物件陣列。 |
| WriteParcelableCreator(IParcelable) |
將可包裹車類別的名稱平整成此區塊。 |
| WriteParcelableList(IList, Int32) |
將包含任意 |
| WritePersistableBundle(PersistableBundle) |
必要時將 PersistableBundle 平整成目前 dataPosition(), 的 parcel,並以 growing dataCapacity() 進行。 |
| WriteSerializable(ISerializable) |
在 Parcel 中寫入一個通用可序列化的物件。 |
| WriteSize(Size) |
如有需要,在目前 dataPosition(), 成長 dataCapacity() 時,將 Size 平整化到該包裹中。 |
| WriteSizeF(SizeF) |
如有需要,將 SizeF 平整成目前 dataPosition(), 的 parcel,並以 growingingdataCapacity() 進行。 |
| WriteSparseArray(SparseArray) |
如果需要,將一個通用的 SparseArray 平整成目前 dataPosition(), 正在成長的 dataCapacity() 的 parcel。 |
| WriteSparseBooleanArray(SparseBooleanArray) |
將這個 parcel 的稀疏布林陣列值寫入。 |
| WriteString(String) |
如有需要,將字串值寫入 parcel 中當前 dataPosition(), growing dataCapacity() 的值。 |
| WriteStringArray(String[]) |
將字串陣列值寫入此 parcel。 |
| WriteStringList(IList<String>) |
將包含字串物件的清單平整成 parcel,並於當前 dataPosition() 處(如有需要)成長 dataCapacity() 時進行。 |
| WriteStrongBinder(IBinder) |
如有需要,可在 parcel 中寫入物件,目前為 dataPosition(), growing dataCapacity()。 |
| WriteStrongInterface(IInterface) |
如有需要,可在 parcel 中寫入物件,目前為 dataPosition(), growing dataCapacity()。 |
| WriteTypedArray(Object[], ParcelableWriteFlags) |
將包含特定物件類型的同質陣列平整成該區塊,並在當前 dataPosition() 處進行,必要時則在 dataCapacity() 成長。 |
| WriteTypedArrayMap(ArrayMap, Int32) |
將包含特定物件類型的字串鍵的 a |
| WriteTypedList(IList, ParcelableWriteFlags) |
在目前的 dataPosition() 處,並將包含特定物件類型的清單平整化到該 parcel 中,並在需要時增加 dataCapacity() 的狀態。 |
| WriteTypedList(IList) |
在目前的 dataPosition() 處,並將包含特定物件類型的清單平整化到該 parcel 中,並在需要時增加 dataCapacity() 的狀態。 |
| WriteTypedObject(Object, ParcelableWriteFlags) |
將可包裹物件壓扁成包裹。 |
| WriteTypedSparseArray(SparseArray, Int32) |
將包含特定物件類型的 a |
| WriteValue(Object) |
把一個通用物件壓扁成一個包裹。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個容器,可透過 IBinder 傳送訊息(資料與物件參考)。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |