掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流

創(chuàng)新互聯(lián)網絡公司擁有10余年的成都網站開發(fā)建設經驗,1000+客戶的共同信賴。提供成都做網站、成都網站制作、成都外貿網站建設、網站開發(fā)、網站定制、賣友情鏈接、建網站、網站搭建、自適應網站建設、網頁設計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務
java.lang.Object
|---ohos.utils.Parcel
public class Parcel
extends Object
用于進程間通信 (IPC) 的數據對象。
在 IPC 過程中,發(fā)送方可以使用 Parcel 提供的 write 方法將要發(fā)送的數據以特定格式寫入 Parcel 對象,接收方可以使用 Parcel 提供的 read 方法從 包裹對象。
Parcel 實例的默認容量為 200KB。 如果您想要更多或更少,請使用 setCapacity(int) 更改它。
注意:只有以下數據類型的數據可以寫入或讀取 Parcel:byte、byteArray、short、shortArray、int、intArray、long、longArray、float、floatArray、double、doubleArray、boolean、booleanArray、char、charArray 、字符串、StringArray、PlainBooleanArray、Serializable、Sequenceable 和 SequenceableArray。
| 修飾符 | 構造函數 | 描述 |
|---|---|---|
| protected | Parcel() |
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| void | addAppClassLoader(ClassLoader newClassLoader) | 添加第三方 ClassLoader 用于實例初始化。 |
| boolean | appendFrom(Parcel other) | 將指定 Parcel 對象的序列化值附加到此 Parcel 實例。 |
| static Parcel | create() | 創(chuàng)建一個空的 Parcel 實例。 |
| static Parcel | create(long nativeHandler) | 使用指定的處理程序創(chuàng)建一個空 Parcel 實例。 |
| createSequenceable() | 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對象。 | |
| createSequenceable(ClassLoader classLoader) | 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對象。 | |
| Sequenceable[] | createSequenceableArray() | 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建一個特定的 Sequenceable 對象數組 |
| protected void | finalize() | 當垃圾收集確定不再有對該對象的引用時,由對象上的垃圾收集器調用。 |
| protected void | flushBuffer() | 清除 Parcel 實例中的數據。 |
| byte[] | getBytes() | 從 Parcel 實例中讀取所有字節(jié)。 |
| int | getCapacity() | 獲取 Parcel 實例的存儲容量(以字節(jié)為單位)。 |
| int | getReadableBytes() | 獲取 Parcel 實例中的可讀數據空間(以字節(jié)為單位)。 |
| int | getReadPosition() | 獲取 Parcel 實例中的當前讀取位置。 |
| int | getSize() | 獲取 Parcel 實例中包含的數據大?。ㄒ宰止?jié)為單位)。 |
| int | getWritableBytes() | 獲取 Parcel 實例中的可寫數據空間(以字節(jié)為單位)。 |
| int | getWritePosition() | 獲取 Parcel 實例中的當前寫入位置。 |
| boolean | readBoolean() | 從 Parcel 實例中讀取一個布爾值。 |
| boolean[] | readBooleanArray() | 從 Parcel 實例中讀取一個布爾數組。 |
| void | readBooleanArray(boolean[] val) | 從 Parcel 實例中讀取一個布爾數組。 |
| byte | readByte() | 從 Parcel 實例中讀取一個字節(jié)值。 |
| byte[] | readByteArray() | 從 Parcel 實例中讀取一個字節(jié)數組。 |
| void | readByteArray(byte[] val) | 從 Parcel 實例中讀取一個字節(jié)數組。 |
| char | readChar() | 從 Parcel 實例中讀取單個字符值。 |
| char[] | readCharArray() | 從 Parcel 實例中讀取單個字符數組。 |
| void | readCharArray(char[] val) | 從 Parcel 實例中讀取單個字符數組。 |
| double | readDouble() | 從 Parcel 實例中讀取一個雙精度浮點值。 |
| double[] | readDoubleArray() | 從 Parcel 實例中讀取一個雙精度浮點數組。 |
| void | readDoubleArray(double[] val) | 從 Parcel 實例中讀取一個雙精度浮點數組。 |
| float | readFloat() | 從 Parcel 實例中讀取一個浮點值。 |
| float[] | readFloatArray() | 從 Parcel 實例中讀取一個浮點數組。 |
| void | readFloatArray(float[] val) | 從 Parcel 實例中讀取一個浮點數組。 |
| int | readInt() | 從 Parcel 實例中讀取一個整數值。 |
| int[] | readIntArray() | 從 Parcel 實例中讀取一個整數數組。 |
| void | readIntArray(int[] val) | 從 Parcel 實例中讀取一個整數數組。 |
| List> | readList() | 從此 Parcel 實例中讀取對象列表。 |
| long | readLong() | 從 Parcel 實例中讀取一個長整數值。 |
| long[] | readLongArray() | 從 Parcel 實例中讀取一個長整數數組。 |
| void | readLongArray(long[] val) | 從 Parcel 實例中讀取一個長整數數組。 |
| Map,?> | readMap() | 從此 Parcel 實例中讀取 Map 對象。 |
| void | readPacMapEx(PacMapEx pacMapEx) | 從此 Parcel 對象中讀取 PacMapEx 對象。 |
| ParcelableEx | readParcelableEx(ClassLoader loader) | 從此 Parcel 實例中讀取 ParcelableEx 對象。 |
| readPlainArray(Class |
從此 Parcel 實例中讀取一個 PlainArray 對象。 | |
| PlainBooleanArray | readPlainBooleanArray() | 從此 Parcel 實例中讀取一個 PlainBooleanArray 對象。 |
| boolean | readSequenceable(Sequenceable in) | 從 Parcel 實例中讀取一個 Sequenceable 對象。 |
| void | readSequenceableArray(Sequenceable[] val) | 從 Parcel 實例中讀取一個 Sequenceable 對象數組。 |
| readSequenceableList(Class |
從此 Parcel 實例中讀取指定類型的 Sequenceable 對象列表。 | |
| readSequenceableMap(Class |
從此 Parcel 實例中讀取 Map 對象。 | |
| readSerializable(Class |
從此 Parcel 實例中讀取一個可序列化的對象。 | |
| short | readShort() | 從 Parcel 實例中讀取一個短整數值。 |
| short[] | readShortArray() | 從 Parcel 實例中讀取一個短整數數組。 |
| void | readShortArray(short[] val) | 從 Parcel 實例中讀取一個短整數數組。 |
| String | readString() | 從 Parcel 實例中讀取字符串值。 |
| String[] | readStringArray() | 從 Parcel 實例中讀取一個字符串數組。 |
| void | readStringArray(String[] val) | 從 Parcel 實例中讀取一個字符串數組。 |
| ListString | readStringList() | 從 Parcel 讀取字符串列表。 |
| Object | readValue() | 從此 Parcel 實例中讀取一個對象。 |
| void | reclaim() | 清除 Parcel 實例中的數據。 |
| boolean | rewindRead(int pos) | 更改 Parcel 實例中的當前讀取位置。 |
| boolean | rewindWrite(int pos) | 更改 Parcel 實例中的當前寫入位置。 |
| boolean | setCapacity(int capacity) | 設置 Parcel 實例的存儲容量(以字節(jié)為單位)。 |
| boolean | setSize(int size) | 設置 Parcel 實例中包含的數據大?。ㄒ宰止?jié)為單位)。 |
| boolean | writeBoolean(boolean val) | 將一個布爾值寫入 Parcel 實例。 |
| boolean | writeBooleanArray(boolean[] values) | 將一個布爾數組寫入 Parcel 實例。 |
| boolean | writeByte(byte val) | 將字節(jié)值寫入 Parcel 實例。 |
| boolean | writeByteArray(byte[] val) | 將字節(jié)數組寫入 Parcel 實例。 |
| boolean | writeBytes(byte[] val) | 將字節(jié)寫入 Parcel 實例。 |
| boolean | writeChar(char val) | 將單個字符值寫入 Parcel 實例。 |
| boolean | writeCharArray(char[] values) | 將單個字符數組寫入 Parcel 實例。 |
| boolean | writeDouble(double val) | 將雙精度浮點值寫入 Parcel 實例。 |
| boolean | writeDoubleArray(double[] values) | 將雙精度浮點數組寫入 Parcel 實例。 |
| boolean | writeFloat(float val) | 將浮點值寫入 Parcel 實例。 |
| boolean | writeFloatArray(float[] values) | 將浮點數組寫入 Parcel 實例。 |
| boolean | writeInt(int val) | 將整數值寫入 Parcel 實例。 |
| boolean | writeIntArray(int[] values) | 將整數數組寫入 Parcel 實例。 |
| void | writeList(List> values) | 將對象列表寫入此 Parcel 實例。 |
| boolean | writeLong(long val) | 將一個長整數值寫入 Parcel 實例。 |
| boolean | writeLongArray(long[] values) | 將一個長整數數組寫入 Parcel 實例。 |
| void | writeMap(Map,?> values) | 將 Map 對象寫入此 Parcel 實例。 |
| void | writeMap(Map,?> values, boolean isCross) | 通過支持跨平臺將 Map 對象寫入此 Parcel 實例。 |
| void | writePacMapEx(PacMapEx val) | 將 PacMapEx 對象寫入此 Parcel 實例。 |
| void | writeParcelableEx(ParcelableEx val) | 將 ParcelableEx 對象寫入此 Parcel 實例。 |
| writePlainArray(PlainArray |
將 PlainArray 對象寫入此 Parcel 實例。 | |
| boolean | writePlainBooleanArray(PlainBooleanArray value) | 將 PlainBooleanArray 對象寫入此 Parcel 實例。 |
| void | writeSequenceable(Sequenceable val) | 將 Sequenceable 對象寫入 Parcel 實例。 |
| boolean | writeSequenceableArray(Sequenceable[] values) | 將 Sequenceable 對象數組寫入 Parcel 實例。 |
| boolean | writeSequenceableList(List extends Sequenceable> values) | 將 Sequenceable 列表寫入此 Parcel 實例。 |
| boolean | writeSequenceableMap(Map |
將 Map 對象寫入此 Parcel 實例。 |
| void | writeSerializable(Serializable object) | 將可序列化對象寫入此 Parcel 實例。 |
| boolean | writeShort(short val) | 將一個短整數值寫入 Parcel 實例。 |
| boolean | writeShortArray(short[] values) | 將一個短整數數組寫入 Parcel 實例。 |
| boolean | writeString(String val) | 將字符串值寫入 Parcel 實例。 |
| boolean | writeStringArray(String[] values) | 將字符串數組寫入 Parcel 實例。 |
| boolean | writeStringList(ListString values) | 將字符串列表寫入此 Parcel 實例。 |
| void | writeTypedSequenceable(Sequenceable sequenceable) | 使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對象寫入 Parcel 實例。 |
| writeTypedSequenceableArray(T[] values) | 使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對象數組寫入 Parcel 實例。 | |
| void | writeValue(Object value) | 將對象寫入此 Parcel 實例。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
protected Parcel()
protected void flushBuffer()
清除 Parcel 實例中的數據。
protected void finalize() throws Throwable
從類復制的描述:對象
當垃圾收集確定不再有對該對象的引用時,由對象上的垃圾收集器調用。子類覆蓋 finalize 方法以釋放系統(tǒng)資源或執(zhí)行其他清理。
finalize 的一般約定是,當 Java? 虛擬機確定不再有任何方法可以讓任何尚未終止的線程訪問該對象時調用它,除非是由于某個操作而導致的。由準備完成的其他對象或類的完成所采取。 finalize 方法可以采取任何行動,包括使該對象再次可供其他線程使用;然而,finalize 的通常目的是在對象被不可撤銷地丟棄之前執(zhí)行清理操作。例如,代表輸入/輸出連接的對象的 finalize 方法可能會執(zhí)行顯式 I/O 事務以在對象被永久丟棄之前中斷連接。
Object 類的 finalize 方法不執(zhí)行任何特殊操作;它只是正常返回。 Object 的子類可以覆蓋這個定義。
Java 編程語言不保證哪個線程將為任何給定對象調用 finalize 方法。但是,可以保證調用 finalize 的線程在調用 finalize 時不會持有任何用戶可見的同步鎖。如果 finalize 方法拋出未捕獲的異常,則忽略該異常并終止該對象的終結。
在為一個對象調用 finalize 方法后,不會采取進一步的行動,直到 Java 虛擬機再次確定沒有任何方法可以讓任何尚未終止的線程訪問該對象,包括可能的行動由其他準備完成的對象或類,此時該對象可能被丟棄。
對于任何給定的對象,Java 虛擬機永遠不會多次調用 finalize 方法。
finalize 方法拋出的任何異常都會導致該對象的終結被暫停,否則會被忽略。
覆蓋:
在類 Object 中完成
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| Throwable | 此方法引發(fā)的異常 |
public static Parcel create()
創(chuàng)建一個空的 Parcel 實例。
返回:
返回一個 Parcel 實例。
public static Parcel create(long nativeHandler)
使用指定的處理程序創(chuàng)建一個空 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| nativeHandler | 指示本機中的處理程序指向一個包裹對象。 |
返回:
返回具有指定處理程序的 Parcel 實例。
public void reclaim()
清除 Parcel 實例中的數據。
public final int getSize()
獲取 Parcel 實例中包含的數據大?。ㄒ宰止?jié)為單位)。
返回:
返回 Parcel 實例中包含的數據的大小。
public final int getCapacity()
獲取 Parcel 實例的存儲容量(以字節(jié)為單位)。
返回:
返回 Parcel 實例的存儲容量。
public final boolean setSize(int size)
設置 Parcel 實例中包含的數據大小(以字節(jié)為單位)。
如果此方法中設置的數據大小大于 Parcel 的存儲容量,則返回 false。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| size | 指示 Parcel 實例的數據大小。 |
返回:
設置成功返回 true; 否則返回 false。
public final boolean setCapacity(int capacity)
設置 Parcel 實例的存儲容量(以字節(jié)為單位)。
如果此方法中設置的容量小于 Parcel 中包含的數據大小,則返回 false。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| capacity | Parcel實例的存儲容量。 |
返回:
設置成功返回true; 否則返回 false。
public final int getWritableBytes()
獲取 Parcel 實例中的可寫數據空間(以字節(jié)為單位)。
可寫數據空間 = Parcel 的存儲容量 - Parcel 中包含的數據大小。
返回:
返回 Parcel 實例的可寫數據空間。
public final int getReadableBytes()
獲取 Parcel 實例中的可讀數據空間(以字節(jié)為單位)。
可讀數據空間 = Parcel 中包含的數據大小 - 已讀取數據的大小。
返回:
返回 Parcel 實例的可讀數據空間。
public final int getReadPosition()
獲取 Parcel 實例中的當前讀取位置。
返回:
返回 Parcel 實例中的當前讀取位置。
public final int getWritePosition()
獲取 Parcel 實例中的當前寫入位置。
返回:
返回 Parcel 實例中的當前寫入位置。
public final boolean rewindRead(int pos)
更改 Parcel 實例中的當前讀取位置。
一般不建議更改當前讀取位置。 如果必須更改,請將其更改到準確的位置。 否則,讀取的數據可能不正確。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| pos | 指示開始數據讀取的目標位置。 |
返回:
如果讀取位置改變,則返回 true; 否則返回 false。
public final boolean rewindWrite(int pos)
更改 Parcel 實例中的當前寫入位置。
一般不建議更改當前寫入位置。 如果必須更改,請將其更改到準確的位置。 否則,要讀取的數據可能不正確。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| pos | 指示開始數據寫入的目標位置。 |
返回:
如果寫入位置改變,則返回 true; 否則返回 false。
public final boolean writeByte(byte val)
將字節(jié)值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的字節(jié)值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeShort(short val)
將一個短整數值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的短整數值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeInt(int val)
將整數值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的整數值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeLong(long val)
將一個長整數值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的長整數值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeFloat(float val)
將浮點值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的浮點值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeDouble(double val)
將雙精度浮點值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的雙精度浮點值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeBoolean(boolean val)
將一個布爾值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的布爾值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeChar(char val)
將單個字符值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的單個字符值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeString(String val)
將字符串值寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的字符串值。 |
返回:
如果值已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final void writeSequenceable(Sequenceable val)
將 Sequenceable 對象寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的 Sequenceable 對象。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final byte readByte()
從 Parcel 實例中讀取一個字節(jié)值。
返回:
返回一個字節(jié)值。
public final short readShort()
從 Parcel 實例中讀取一個短整數值。
返回:
返回一個短整數值。
public final int readInt()
從 Parcel 實例中讀取一個整數值。
返回:
返回一個整數值。
public final long readLong()
從 Parcel 實例中讀取一個長整數值。
返回:
返回一個長整數值。
public final float readFloat()
從 Parcel 實例中讀取一個浮點值。
返回:
返回一個浮點值。
public final double readDouble()
從 Parcel 實例中讀取一個雙精度浮點值。
返回:
返回一個雙精度浮點值。
public final boolean readBoolean()
從 Parcel 實例中讀取一個布爾值。
返回:
返回一個布爾值。
public final char readChar()
從 Parcel 實例中讀取單個字符值。
返回:
返回單個字符值。
public final String readString()
從 Parcel 實例中讀取字符串值。
返回:
返回一個字符串值。
public final boolean readSequenceable(Sequenceable in)
從 Parcel 實例中讀取一個 Sequenceable 對象。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| in | 指示需要使用 Parcel 執(zhí)行解組操作的 Sequenceable 對象。 |
返回:
如果解組成功,則返回 true; 否則返回 false。
public final boolean writeByteArray(byte[] val)
將字節(jié)數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的字節(jié)數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeBytes(byte[] val)
將字節(jié)寫入 Parcel 實例。
此方法與 writeByteArray 方法不同。 在該方法中,Parcel 不能調用其他方法寫入數據,寫入的數據只能通過調用 getBytes() 來讀取。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要寫入的字節(jié)。 |
返回:
如果字節(jié)已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeShortArray(short[] values)
將一個短整數數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的短整數數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeIntArray(int[] values)
將整數數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的整數數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeLongArray(long[] values)
將一個長整數數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的長整數數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeFloatArray(float[] values)
將浮點數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的浮點數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeDoubleArray(double[] values)
將雙精度浮點數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的雙精度浮點數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeBooleanArray(boolean[] values)
將一個布爾數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的布爾數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeCharArray(char[] values)
將單個字符數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的單個字符數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeStringArray(String[] values)
將字符串數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的字符串數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeStringList(ListString values)
將字符串列表寫入此 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的字符串列表。 |
返回:
如果字符串列表寫入成功,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeSequenceableArray(Sequenceable[] values)
將 Sequenceable 對象數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的 Sequenceable 對象數組。 |
返回:
如果數組已寫入 Parcel,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeSequenceableList(List extends Sequenceable> values)
將 Sequenceable 列表寫入此 Parcel 實例。
此列表中的元素類型必須是實現了 Sequenceable 的東西。 調用readSequenceableList(java.lang.Class)方法讀取列表時,確保values的元素是同一類型。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的 Sequenceable 列表。 |
返回:
如果 Sequenceable 列表寫入成功,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final boolean writeSequenceableMap(Map
將 Map 對象寫入此 Parcel 實例。
在 Map 對象中,鍵是 String 類型,值來自實現了 Sequenceable 的東西。 調用readSequenceableMap(java.lang.Class)方法讀取map時,需要保證values的元素類型相同。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的 Map 對象。 |
返回:
如果 Map 對象寫入成功,則返回 true; 否則返回 false。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 當這個包裹的容量不足時,異常消息:ParcelException#NO_CAPACITY_ERROR。 |
public final void readByteArray(byte[] val)
從 Parcel 實例中讀取一個字節(jié)數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的字節(jié)數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取字節(jié)數組失敗會拋出這個異常。 |
public final byte[] readByteArray()
從 Parcel 實例中讀取一個字節(jié)數組。
返回:
返回一個字節(jié)數組。
public final byte[] getBytes()
從 Parcel 實例中讀取所有字節(jié)。
此方法與 readByteArray 方法不同。 在該方法中,Parcel 不能調用其他方法讀取數據,該方法只能讀取使用 [writeBytes(byte]) 寫入的數據。
返回:
返回字節(jié)。
public final void readShortArray(short[] val)
從 Parcel 實例中讀取一個短整數數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的短整數數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取短數組失敗,則拋出此異常。 |
public final short[] readShortArray()
從 Parcel 實例中讀取一個短整數數組。
返回:
返回一個短整數數組。
public final void readIntArray(int[] val)
從 Parcel 實例中讀取一個整數數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的整數數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取整數數組失敗,則拋出此異常。 |
public final int[] readIntArray()
從 Parcel 實例中讀取一個整數數組。
返回:
返回一個整數數組。
public final void readLongArray(long[] val)
從 Parcel 實例中讀取一個長整數數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的長整數數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取長數組失敗,則拋出此異常。 |
public final long[] readLongArray()
從 Parcel 實例中讀取一個長整數數組。
返回:
返回一個長整數數組。
public final void readFloatArray(float[] val)
從 Parcel 實例中讀取一個浮點數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的浮點數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取浮點數組失敗,則拋出此異常。 |
public final float[] readFloatArray()
從 Parcel 實例中讀取一個浮點數組。
返回:
返回一個浮點數組。
public final void readDoubleArray(double[] val)
從 Parcel 實例中讀取一個雙精度浮點數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的雙精度浮點數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取雙精度數組失敗,則拋出此異常。 |
public final double[] readDoubleArray()
從 Parcel 實例中讀取一個雙精度浮點數組。
返回:
返回一個雙精度浮點數組。
public final void readBooleanArray(boolean[] val)
從 Parcel 實例中讀取一個布爾數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的布爾數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取布爾數組失敗,則拋出此異常。 |
public final boolean[] readBooleanArray()
從 Parcel 實例中讀取一個布爾數組。
返回:
返回一個布爾數組。
public final void readCharArray(char[] val)
從 Parcel 實例中讀取單個字符數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的單個字符數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取 char 數組失敗,則拋出此異常。 |
public final char[] readCharArray()
從 Parcel 實例中讀取單個字符數組。
返回:
返回單個字符數組。
public final void readStringArray(String[] val)
從 Parcel 實例中讀取一個字符串數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的字符串數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取字符串數組失敗,則拋出此異常。 |
public final String[] readStringArray()
從 Parcel 實例中讀取一個字符串數組。
返回:
返回一個字符串數組。
public final ListString readStringList()
從 Parcel 讀取字符串列表。
您可以使用此方法讀取 writeStringList(java.util.List) 和 [writeStringArray(java.lang.String]) 寫入 Parcel 的字符串。
返回:
返回一個只讀字符串列表對象。
public final void readSequenceableArray(Sequenceable[] val)
從 Parcel 實例中讀取一個 Sequenceable 對象數組。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| val | 指示要讀取的 Sequenceable 對象數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果讀取可排序數組失敗,則拋出此異常。 |
public final
從此 Parcel 實例中讀取指定類型的 Sequenceable 對象列表。
提供 Sequenceable 對象的類必須具有 Sequenceable.Producer 類型的靜態(tài)成員變量 CREATOR。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| clz | 指示要讀取的 Sequenceable 對象的類型。 |
返回:
返回 Sequenceable 對象的列表。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果無法獲取 Sequenceable 的 CREATOR,則拋出此異常。 |
public final
從此 Parcel 實例中讀取 Map 對象。 在 Map 對象中,鍵是 String 類型,值來自實現了 Sequenceable 的東西。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| valueType | 指示要讀取的 Map 對象的值類型。 |
返回:
返回一個 Map 對象,其鍵是 String 類型,值來自實現 Sequenceable 的東西。
public final void writeTypedSequenceable(Sequenceable sequenceable)
使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對象寫入 Parcel 實例。
此方法還將 Sequenceable 對象的類名寫入 Parcel。 類名將用于從 Parcel 中恢復 Sequenceable 對象。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| sequenceable | 指示已實現 Sequenceable.Producer#createFromParcel 的 Sequenceable 對象。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果在數據寫入過程中發(fā)生異常,則拋出此異常。 |
public final
使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對象。
該方法根據writeTypedSequenceable(ohos.utils.Sequenceable)寫入的類名恢復Sequenceable對象。
返回:
返回新創(chuàng)建的 Sequenceable 對象; 如果無法恢復 Sequenceable 對象,則返回 null。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果在數據讀取過程中發(fā)生異常,則拋出此異常。 |
public final
使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對象。
該方法根據writeTypedSequenceable(ohos.utils.Sequenceable)寫入的類名恢復Sequenceable對象。
類型參數:
| 類型參數名稱 | 類型參數描述 |
|---|---|
| T | 表示擴展 Sequenceable 的類。 |
參數:
| 參數名稱 | 參數描述 |
|---|---|
| classLoader | 表示用于加載 Sequenceable 類的類加載器。 |
返回:
返回新創(chuàng)建的 Sequenceable 對象; 如果無法恢復 Sequenceable 對象,則返回 null。
public final
使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對象數組寫入 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| values | 指示要寫入的 Sequenceable 對象數組。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果在數據寫入過程中發(fā)生異常,則拋出此異常。 |
public final void writeSerializable(Serializable object)
將可序列化對象寫入此 Parcel 實例。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| object | 指示要寫入的可序列化對象。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果對象無法序列化或發(fā)生 I/O 錯誤,則引發(fā)此異常。 |
public final
從此 Parcel 實例中讀取一個可序列化的對象。
參數:
| 參數名稱 | 參數描述 |
|---|---|
| clz | 指示要讀取的可序列化對象的類型。 |
返回:
返回已讀取的可序列化對象; 如果無法讀取可序列化對象,則返回 null。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果要讀取的可序列化對象的類型與 clz 不匹配或發(fā)生 I/O 錯誤,則拋出此異常。 |
public final Sequenceable[] createSequenceableArray()
使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建一個特定的 Sequenceable 對象數組
返回:
返回新創(chuàng)建的 Sequenceable 對象數組; 如果無法恢復 Sequenceable 對象數組,則返回 null。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果在數據讀取過程中發(fā)生異常,則拋出此異常。 |
public List> readList()
從此 Parcel 實例中讀取對象列表。
返回:
返回對象列表。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ParcelException | 如果列表包含 Parcel 不支持的對象類型,則引發(fā)此異常。 |

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流