鴻蒙OS Parcel

2022-08-30 14:19 更新

Parcel

java.lang.Object

|---ohos.utils.Parcel

public class Parcel
extends Object

用于進(jìn)程間通信 (IPC) 的數(shù)據(jù)對(duì)象。

在 IPC 過(guò)程中,發(fā)送方可以使用 Parcel 提供的 write 方法將要發(fā)送的數(shù)據(jù)以特定格式寫(xiě)入 Parcel 對(duì)象,接收方可以使用 Parcel 提供的 read 方法從 包裹對(duì)象。

Parcel 實(shí)例的默認(rèn)容量為 200KB。 如果您想要更多或更少,請(qǐng)使用 setCapacity(int) 更改它。

注意:只有以下數(shù)據(jù)類(lèi)型的數(shù)據(jù)可以寫(xiě)入或讀取 Parcel:byte、byteArray、short、shortArray、int、intArray、long、longArray、float、floatArray、double、doubleArray、boolean、booleanArray、char、charArray 、字符串、StringArray、PlainBooleanArray、Serializable、Sequenceable 和 SequenceableArray。

構(gòu)造函數(shù)摘要

修飾符 構(gòu)造函數(shù) 描述
protected Parcel()

方法總結(jié)

修飾符和類(lèi)型 方法 描述
void addAppClassLoader(ClassLoader newClassLoader) 添加第三方 ClassLoader 用于實(shí)例初始化。
boolean appendFrom(Parcel other) 將指定 Parcel 對(duì)象的序列化值附加到此 Parcel 實(shí)例。
static Parcel create() 創(chuàng)建一個(gè)空的 Parcel 實(shí)例。
static Parcel create(long nativeHandler) 使用指定的處理程序創(chuàng)建一個(gè)空 Parcel 實(shí)例。
<T extends Sequenceable>T createSequenceable() 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對(duì)象。
<T extends Sequenceable>T createSequenceable(ClassLoader classLoader) 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對(duì)象。
Sequenceable[] createSequenceableArray() 使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建一個(gè)特定的 Sequenceable 對(duì)象數(shù)組
protected void finalize() 當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。
protected void flushBuffer() 清除 Parcel 實(shí)例中的數(shù)據(jù)。
byte[] getBytes() 從 Parcel 實(shí)例中讀取所有字節(jié)。
int getCapacity() 獲取 Parcel 實(shí)例的存儲(chǔ)容量(以字節(jié)為單位)。
int getReadableBytes() 獲取 Parcel 實(shí)例中的可讀數(shù)據(jù)空間(以字節(jié)為單位)。
int getReadPosition() 獲取 Parcel 實(shí)例中的當(dāng)前讀取位置。
int getSize() 獲取 Parcel 實(shí)例中包含的數(shù)據(jù)大?。ㄒ宰止?jié)為單位)。
int getWritableBytes() 獲取 Parcel 實(shí)例中的可寫(xiě)數(shù)據(jù)空間(以字節(jié)為單位)。
int getWritePosition() 獲取 Parcel 實(shí)例中的當(dāng)前寫(xiě)入位置。
boolean readBoolean() 從 Parcel 實(shí)例中讀取一個(gè)布爾值。
boolean[] readBooleanArray() 從 Parcel 實(shí)例中讀取一個(gè)布爾數(shù)組。
void readBooleanArray(boolean[] val) 從 Parcel 實(shí)例中讀取一個(gè)布爾數(shù)組。
byte readByte() 從 Parcel 實(shí)例中讀取一個(gè)字節(jié)值。
byte[] readByteArray() 從 Parcel 實(shí)例中讀取一個(gè)字節(jié)數(shù)組。
void readByteArray(byte[] val) 從 Parcel 實(shí)例中讀取一個(gè)字節(jié)數(shù)組。
char readChar() 從 Parcel 實(shí)例中讀取單個(gè)字符值。
char[] readCharArray() 從 Parcel 實(shí)例中讀取單個(gè)字符數(shù)組。
void readCharArray(char[] val) 從 Parcel 實(shí)例中讀取單個(gè)字符數(shù)組。
double readDouble() 從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)值。
double[] readDoubleArray() 從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)數(shù)組。
void readDoubleArray(double[] val) 從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)數(shù)組。
float readFloat() 從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)值。
float[] readFloatArray() 從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)數(shù)組。
void readFloatArray(float[] val) 從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)數(shù)組。
int readInt() 從 Parcel 實(shí)例中讀取一個(gè)整數(shù)值。
int[] readIntArray() 從 Parcel 實(shí)例中讀取一個(gè)整數(shù)數(shù)組。
void readIntArray(int[] val) 從 Parcel 實(shí)例中讀取一個(gè)整數(shù)數(shù)組。
List<?> readList() 從此 Parcel 實(shí)例中讀取對(duì)象列表。
long readLong() 從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)值。
long[] readLongArray() 從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)數(shù)組。
void readLongArray(long[] val) 從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)數(shù)組。
Map<?,?> readMap() 從此 Parcel 實(shí)例中讀取 Map 對(duì)象。
void readPacMapEx(PacMapEx pacMapEx) 從此 Parcel 對(duì)象中讀取 PacMapEx 對(duì)象。
ParcelableEx readParcelableEx(ClassLoader loader) 從此 Parcel 實(shí)例中讀取 ParcelableEx 對(duì)象。
<T> PlainArray<T> readPlainArray(Class<T> clzType) 從此 Parcel 實(shí)例中讀取一個(gè) PlainArray 對(duì)象。
PlainBooleanArray readPlainBooleanArray() 從此 Parcel 實(shí)例中讀取一個(gè) PlainBooleanArray 對(duì)象。
boolean readSequenceable(Sequenceable in) 從 Parcel 實(shí)例中讀取一個(gè) Sequenceable 對(duì)象。
void readSequenceableArray(Sequenceable[] val) 從 Parcel 實(shí)例中讀取一個(gè) Sequenceable 對(duì)象數(shù)組。
<T extends Sequenceable>List<T> readSequenceableList(Class<T> clz) 從此 Parcel 實(shí)例中讀取指定類(lèi)型的 Sequenceable 對(duì)象列表。
<T extends Sequenceable>MapString,T readSequenceableMap(Class<T> valueType) 從此 Parcel 實(shí)例中讀取 Map 對(duì)象。
<T extends Serializable>T readSerializable(Class<T> clz) 從此 Parcel 實(shí)例中讀取一個(gè)可序列化的對(duì)象。
short readShort() 從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)值。
short[] readShortArray() 從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)數(shù)組。
void readShortArray(short[] val) 從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)數(shù)組。
String readString() 從 Parcel 實(shí)例中讀取字符串值。
String[] readStringArray() 從 Parcel 實(shí)例中讀取一個(gè)字符串?dāng)?shù)組。
void readStringArray(String[] val) 從 Parcel 實(shí)例中讀取一個(gè)字符串?dāng)?shù)組。
ListString readStringList() 從 Parcel 讀取字符串列表。
Object readValue() 從此 Parcel 實(shí)例中讀取一個(gè)對(duì)象。
void reclaim() 清除 Parcel 實(shí)例中的數(shù)據(jù)。
boolean rewindRead(int pos) 更改 Parcel 實(shí)例中的當(dāng)前讀取位置。
boolean rewindWrite(int pos) 更改 Parcel 實(shí)例中的當(dāng)前寫(xiě)入位置。
boolean setCapacity(int capacity) 設(shè)置 Parcel 實(shí)例的存儲(chǔ)容量(以字節(jié)為單位)。
boolean setSize(int size) 設(shè)置 Parcel 實(shí)例中包含的數(shù)據(jù)大?。ㄒ宰止?jié)為單位)。
boolean writeBoolean(boolean val) 將一個(gè)布爾值寫(xiě)入 Parcel 實(shí)例。
boolean writeBooleanArray(boolean[] values) 將一個(gè)布爾數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeByte(byte val) 將字節(jié)值寫(xiě)入 Parcel 實(shí)例。
boolean writeByteArray(byte[] val) 將字節(jié)數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeBytes(byte[] val) 將字節(jié)寫(xiě)入 Parcel 實(shí)例。
boolean writeChar(char val) 將單個(gè)字符值寫(xiě)入 Parcel 實(shí)例。
boolean writeCharArray(char[] values) 將單個(gè)字符數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeDouble(double val) 將雙精度浮點(diǎn)值寫(xiě)入 Parcel 實(shí)例。
boolean writeDoubleArray(double[] values) 將雙精度浮點(diǎn)數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeFloat(float val) 將浮點(diǎn)值寫(xiě)入 Parcel 實(shí)例。
boolean writeFloatArray(float[] values) 將浮點(diǎn)數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeInt(int val) 將整數(shù)值寫(xiě)入 Parcel 實(shí)例。
boolean writeIntArray(int[] values) 將整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。
void writeList(List<?> values) 將對(duì)象列表寫(xiě)入此 Parcel 實(shí)例。
boolean writeLong(long val) 將一個(gè)長(zhǎng)整數(shù)值寫(xiě)入 Parcel 實(shí)例。
boolean writeLongArray(long[] values) 將一個(gè)長(zhǎng)整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。
void writeMap(Map<?,?> values) 將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
void writeMap(Map<?,?> values, boolean isCross) 通過(guò)支持跨平臺(tái)將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
void writePacMapEx(PacMapEx val) 將 PacMapEx 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
void writeParcelableEx(ParcelableEx val) 將 ParcelableEx 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
<T> void writePlainArray(PlainArray<T> value) 將 PlainArray 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
boolean writePlainBooleanArray(PlainBooleanArray value) 將 PlainBooleanArray 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
void writeSequenceable(Sequenceable val) 將 Sequenceable 對(duì)象寫(xiě)入 Parcel 實(shí)例。
boolean writeSequenceableArray(Sequenceable[] values) 將 Sequenceable 對(duì)象數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeSequenceableList(List<? extends Sequenceable> values) 將 Sequenceable 列表寫(xiě)入此 Parcel 實(shí)例。
boolean writeSequenceableMap(Map<String,? extends Sequenceable> values) 將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。
void writeSerializable(Serializable object) 將可序列化對(duì)象寫(xiě)入此 Parcel 實(shí)例。
boolean writeShort(short val) 將一個(gè)短整數(shù)值寫(xiě)入 Parcel 實(shí)例。
boolean writeShortArray(short[] values) 將一個(gè)短整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeString(String val) 將字符串值寫(xiě)入 Parcel 實(shí)例。
boolean writeStringArray(String[] values) 將字符串?dāng)?shù)組寫(xiě)入 Parcel 實(shí)例。
boolean writeStringList(ListString values) 將字符串列表寫(xiě)入此 Parcel 實(shí)例。
void writeTypedSequenceable(Sequenceable sequenceable) 使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對(duì)象寫(xiě)入 Parcel 實(shí)例。
<T extends Sequenceable>void writeTypedSequenceableArray(T[] values) 使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對(duì)象數(shù)組寫(xiě)入 Parcel 實(shí)例。
void writeValue(Object value) 將對(duì)象寫(xiě)入此 Parcel 實(shí)例。
從類(lèi) java.lang.Object 繼承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

Parcel

protected Parcel()

方法詳情

flushBuffer

protected void flushBuffer()

清除 Parcel 實(shí)例中的數(shù)據(jù)。

finalize

protected void finalize() throws Throwable

從類(lèi)復(fù)制的描述:對(duì)象

當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。子類(lèi)覆蓋 finalize 方法以釋放系統(tǒng)資源或執(zhí)行其他清理。

finalize 的一般約定是,當(dāng) Java? 虛擬機(jī)確定不再有任何方法可以讓任何尚未終止的線程訪問(wèn)該對(duì)象時(shí)調(diào)用它,除非是由于某個(gè)操作而導(dǎo)致的。由準(zhǔn)備完成的其他對(duì)象或類(lèi)的完成所采取。 finalize 方法可以采取任何行動(dòng),包括使該對(duì)象再次可供其他線程使用;然而,finalize 的通常目的是在對(duì)象被不可撤銷(xiāo)地丟棄之前執(zhí)行清理操作。例如,代表輸入/輸出連接的對(duì)象的 finalize 方法可能會(huì)執(zhí)行顯式 I/O 事務(wù)以在對(duì)象被永久丟棄之前中斷連接。

Object 類(lèi)的 finalize 方法不執(zhí)行任何特殊操作;它只是正常返回。 Object 的子類(lèi)可以覆蓋這個(gè)定義。

Java 編程語(yǔ)言不保證哪個(gè)線程將為任何給定對(duì)象調(diào)用 finalize 方法。但是,可以保證調(diào)用 finalize 的線程在調(diào)用 finalize 時(shí)不會(huì)持有任何用戶可見(jiàn)的同步鎖。如果 finalize 方法拋出未捕獲的異常,則忽略該異常并終止該對(duì)象的終結(jié)。

在為一個(gè)對(duì)象調(diào)用 finalize 方法后,不會(huì)采取進(jìn)一步的行動(dòng),直到 Java 虛擬機(jī)再次確定沒(méi)有任何方法可以讓任何尚未終止的線程訪問(wèn)該對(duì)象,包括可能的行動(dòng)由其他準(zhǔn)備完成的對(duì)象或類(lèi),此時(shí)該對(duì)象可能被丟棄。

對(duì)于任何給定的對(duì)象,Java 虛擬機(jī)永遠(yuǎn)不會(huì)多次調(diào)用 finalize 方法。

finalize 方法拋出的任何異常都會(huì)導(dǎo)致該對(duì)象的終結(jié)被暫停,否則會(huì)被忽略。

覆蓋:

在類(lèi) Object 中完成

Throws:

Throw名稱(chēng) Throw描述
Throwable 此方法引發(fā)的異常

create

public static Parcel create()

創(chuàng)建一個(gè)空的 Parcel 實(shí)例。

返回:

返回一個(gè) Parcel 實(shí)例。

create

public static Parcel create(long nativeHandler)

使用指定的處理程序創(chuàng)建一個(gè)空 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
nativeHandler 指示本機(jī)中的處理程序指向一個(gè)包裹對(duì)象。

返回:

返回具有指定處理程序的 Parcel 實(shí)例。

reclaim

public void reclaim()

清除 Parcel 實(shí)例中的數(shù)據(jù)。

getSize

public final int getSize()

獲取 Parcel 實(shí)例中包含的數(shù)據(jù)大?。ㄒ宰止?jié)為單位)。

返回:

返回 Parcel 實(shí)例中包含的數(shù)據(jù)的大小。

getCapacity

public final int getCapacity()

獲取 Parcel 實(shí)例的存儲(chǔ)容量(以字節(jié)為單位)。

返回:

返回 Parcel 實(shí)例的存儲(chǔ)容量。

setSize

public final boolean setSize(int size)

設(shè)置 Parcel 實(shí)例中包含的數(shù)據(jù)大?。ㄒ宰止?jié)為單位)。

如果此方法中設(shè)置的數(shù)據(jù)大小大于 Parcel 的存儲(chǔ)容量,則返回 false。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
size 指示 Parcel 實(shí)例的數(shù)據(jù)大小。

返回:

設(shè)置成功返回 true; 否則返回 false。

setCapacity

public final boolean setCapacity(int capacity)

設(shè)置 Parcel 實(shí)例的存儲(chǔ)容量(以字節(jié)為單位)。

如果此方法中設(shè)置的容量小于 Parcel 中包含的數(shù)據(jù)大小,則返回 false。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
capacity Parcel實(shí)例的存儲(chǔ)容量。

返回:

設(shè)置成功返回true; 否則返回 false。

getWritableBytes

public final int getWritableBytes()

獲取 Parcel 實(shí)例中的可寫(xiě)數(shù)據(jù)空間(以字節(jié)為單位)。

可寫(xiě)數(shù)據(jù)空間 = Parcel 的存儲(chǔ)容量 - Parcel 中包含的數(shù)據(jù)大小。

返回:

返回 Parcel 實(shí)例的可寫(xiě)數(shù)據(jù)空間。

getReadableBytes

public final int getReadableBytes()

獲取 Parcel 實(shí)例中的可讀數(shù)據(jù)空間(以字節(jié)為單位)。

可讀數(shù)據(jù)空間 = Parcel 中包含的數(shù)據(jù)大小 - 已讀取數(shù)據(jù)的大小。

返回:

返回 Parcel 實(shí)例的可讀數(shù)據(jù)空間。

getReadPosition

public final int getReadPosition()

獲取 Parcel 實(shí)例中的當(dāng)前讀取位置。

返回:

返回 Parcel 實(shí)例中的當(dāng)前讀取位置。

getWritePosition

public final int getWritePosition()

獲取 Parcel 實(shí)例中的當(dāng)前寫(xiě)入位置。

返回:

返回 Parcel 實(shí)例中的當(dāng)前寫(xiě)入位置。

rewindRead

public final boolean rewindRead(int pos)

更改 Parcel 實(shí)例中的當(dāng)前讀取位置。

一般不建議更改當(dāng)前讀取位置。 如果必須更改,請(qǐng)將其更改到準(zhǔn)確的位置。 否則,讀取的數(shù)據(jù)可能不正確。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
pos 指示開(kāi)始數(shù)據(jù)讀取的目標(biāo)位置。

返回:

如果讀取位置改變,則返回 true; 否則返回 false。

rewindWrite

public final boolean rewindWrite(int pos)

更改 Parcel 實(shí)例中的當(dāng)前寫(xiě)入位置。

一般不建議更改當(dāng)前寫(xiě)入位置。 如果必須更改,請(qǐng)將其更改到準(zhǔn)確的位置。 否則,要讀取的數(shù)據(jù)可能不正確。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
pos 指示開(kāi)始數(shù)據(jù)寫(xiě)入的目標(biāo)位置。

返回:

如果寫(xiě)入位置改變,則返回 true; 否則返回 false。

writeByte

public final boolean writeByte(byte val)

將字節(jié)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的字節(jié)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeShort

public final boolean writeShort(short val)

將一個(gè)短整數(shù)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的短整數(shù)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeInt

public final boolean writeInt(int val)

將整數(shù)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的整數(shù)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeLong

public final boolean writeLong(long val)

將一個(gè)長(zhǎng)整數(shù)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的長(zhǎng)整數(shù)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeFloat

public final boolean writeFloat(float val)

將浮點(diǎn)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的浮點(diǎn)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeDouble

public final boolean writeDouble(double val)

將雙精度浮點(diǎn)值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的雙精度浮點(diǎn)值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeBoolean

public final boolean writeBoolean(boolean val)

將一個(gè)布爾值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的布爾值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeChar

public final boolean writeChar(char val)

將單個(gè)字符值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的單個(gè)字符值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeString

public final boolean writeString(String val)

將字符串值寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的字符串值。

返回:

如果值已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeSequenceable

public final void writeSequenceable(Sequenceable val)

將 Sequenceable 對(duì)象寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的 Sequenceable 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readByte

public final byte readByte()

從 Parcel 實(shí)例中讀取一個(gè)字節(jié)值。

返回:

返回一個(gè)字節(jié)值。

readShort

public final short readShort()

從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)值。

返回:

返回一個(gè)短整數(shù)值。

readInt

public final int readInt()

從 Parcel 實(shí)例中讀取一個(gè)整數(shù)值。

返回:

返回一個(gè)整數(shù)值。

readLong

public final long readLong()

從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)值。

返回:

返回一個(gè)長(zhǎng)整數(shù)值。

readFloat

public final float readFloat()

從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)值。

返回:

返回一個(gè)浮點(diǎn)值。

readDouble

public final double readDouble()

從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)值。

返回:

返回一個(gè)雙精度浮點(diǎn)值。

readBoolean

public final boolean readBoolean()

從 Parcel 實(shí)例中讀取一個(gè)布爾值。

返回:

返回一個(gè)布爾值。

readChar

public final char readChar()

從 Parcel 實(shí)例中讀取單個(gè)字符值。

返回:

返回單個(gè)字符值。

readString

public final String readString()

從 Parcel 實(shí)例中讀取字符串值。

返回:

返回一個(gè)字符串值。

readSequenceable

public final boolean readSequenceable(Sequenceable in)

從 Parcel 實(shí)例中讀取一個(gè) Sequenceable 對(duì)象。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
in 指示需要使用 Parcel 執(zhí)行解組操作的 Sequenceable 對(duì)象。

返回:

如果解組成功,則返回 true; 否則返回 false。

writeByteArray

public final boolean writeByteArray(byte[] val)

將字節(jié)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的字節(jié)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeBytes

public final boolean writeBytes(byte[] val)

將字節(jié)寫(xiě)入 Parcel 實(shí)例。

此方法與 writeByteArray 方法不同。 在該方法中,Parcel 不能調(diào)用其他方法寫(xiě)入數(shù)據(jù),寫(xiě)入的數(shù)據(jù)只能通過(guò)調(diào)用 getBytes() 來(lái)讀取。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的字節(jié)。

返回:

如果字節(jié)已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeShortArray

public final boolean writeShortArray(short[] values)

將一個(gè)短整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的短整數(shù)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeIntArray

public final boolean writeIntArray(int[] values)

將整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的整數(shù)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeLongArray

public final boolean writeLongArray(long[] values)

將一個(gè)長(zhǎng)整數(shù)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的長(zhǎng)整數(shù)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeFloatArray

public final boolean writeFloatArray(float[] values)

將浮點(diǎn)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的浮點(diǎn)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeDoubleArray

public final boolean writeDoubleArray(double[] values)

將雙精度浮點(diǎn)數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的雙精度浮點(diǎn)數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeBooleanArray

public final boolean writeBooleanArray(boolean[] values)

將一個(gè)布爾數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的布爾數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeCharArray

public final boolean writeCharArray(char[] values)

將單個(gè)字符數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的單個(gè)字符數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeStringArray

public final boolean writeStringArray(String[] values)

將字符串?dāng)?shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的字符串?dāng)?shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeStringList

public final boolean writeStringList(ListString values)

將字符串列表寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的字符串列表。

返回:

如果字符串列表寫(xiě)入成功,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeSequenceableArray

public final boolean writeSequenceableArray(Sequenceable[] values)

將 Sequenceable 對(duì)象數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Sequenceable 對(duì)象數(shù)組。

返回:

如果數(shù)組已寫(xiě)入 Parcel,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeSequenceableList

public final boolean writeSequenceableList(List<? extends Sequenceable> values)

將 Sequenceable 列表寫(xiě)入此 Parcel 實(shí)例。

此列表中的元素類(lèi)型必須是實(shí)現(xiàn)了 Sequenceable 的東西。 調(diào)用readSequenceableList(java.lang.Class)方法讀取列表時(shí),確保values的元素是同一類(lèi)型。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Sequenceable 列表。

返回:

如果 Sequenceable 列表寫(xiě)入成功,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeSequenceableMap

public final boolean writeSequenceableMap(Map<String,? extends Sequenceable> values)

將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

在 Map 對(duì)象中,鍵是 String 類(lèi)型,值來(lái)自實(shí)現(xiàn)了 Sequenceable 的東西。 調(diào)用readSequenceableMap(java.lang.Class)方法讀取map時(shí),需要保證values的元素類(lèi)型相同。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Map 對(duì)象。

返回:

如果 Map 對(duì)象寫(xiě)入成功,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readByteArray

public final void readByteArray(byte[] val)

從 Parcel 實(shí)例中讀取一個(gè)字節(jié)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的字節(jié)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取字節(jié)數(shù)組失敗會(huì)拋出這個(gè)異常。

readByteArray

public final byte[] readByteArray()

從 Parcel 實(shí)例中讀取一個(gè)字節(jié)數(shù)組。

返回:

返回一個(gè)字節(jié)數(shù)組。

getBytes

public final byte[] getBytes()

從 Parcel 實(shí)例中讀取所有字節(jié)。

此方法與 readByteArray 方法不同。 在該方法中,Parcel 不能調(diào)用其他方法讀取數(shù)據(jù),該方法只能讀取使用 [writeBytes(byte]) 寫(xiě)入的數(shù)據(jù)。

返回:

返回字節(jié)。

readShortArray

public final void readShortArray(short[] val)

從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的短整數(shù)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取短數(shù)組失敗,則拋出此異常。

readShortArray

public final short[] readShortArray()

從 Parcel 實(shí)例中讀取一個(gè)短整數(shù)數(shù)組。

返回:

返回一個(gè)短整數(shù)數(shù)組。

readIntArray

public final void readIntArray(int[] val)

從 Parcel 實(shí)例中讀取一個(gè)整數(shù)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的整數(shù)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取整數(shù)數(shù)組失敗,則拋出此異常。

readIntArray

public final int[] readIntArray()

從 Parcel 實(shí)例中讀取一個(gè)整數(shù)數(shù)組。

返回:

返回一個(gè)整數(shù)數(shù)組。

readLongArray

public final void readLongArray(long[] val)

從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的長(zhǎng)整數(shù)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取長(zhǎng)數(shù)組失敗,則拋出此異常。

readLongArray

public final long[] readLongArray()

從 Parcel 實(shí)例中讀取一個(gè)長(zhǎng)整數(shù)數(shù)組。

返回:

返回一個(gè)長(zhǎng)整數(shù)數(shù)組。

readFloatArray

public final void readFloatArray(float[] val)

從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的浮點(diǎn)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取浮點(diǎn)數(shù)組失敗,則拋出此異常。

readFloatArray

public final float[] readFloatArray()

從 Parcel 實(shí)例中讀取一個(gè)浮點(diǎn)數(shù)組。

返回:

返回一個(gè)浮點(diǎn)數(shù)組。

readDoubleArray

public final void readDoubleArray(double[] val)

從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的雙精度浮點(diǎn)數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取雙精度數(shù)組失敗,則拋出此異常。

readDoubleArray

public final double[] readDoubleArray()

從 Parcel 實(shí)例中讀取一個(gè)雙精度浮點(diǎn)數(shù)組。

返回:

返回一個(gè)雙精度浮點(diǎn)數(shù)組。

readBooleanArray

public final void readBooleanArray(boolean[] val)

從 Parcel 實(shí)例中讀取一個(gè)布爾數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的布爾數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取布爾數(shù)組失敗,則拋出此異常。

readBooleanArray

public final boolean[] readBooleanArray()

從 Parcel 實(shí)例中讀取一個(gè)布爾數(shù)組。

返回:

返回一個(gè)布爾數(shù)組。

readCharArray

public final void readCharArray(char[] val)

從 Parcel 實(shí)例中讀取單個(gè)字符數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的單個(gè)字符數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取 char 數(shù)組失敗,則拋出此異常。

readCharArray

public final char[] readCharArray()

從 Parcel 實(shí)例中讀取單個(gè)字符數(shù)組。

返回:

返回單個(gè)字符數(shù)組。

readStringArray

public final void readStringArray(String[] val)

從 Parcel 實(shí)例中讀取一個(gè)字符串?dāng)?shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的字符串?dāng)?shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取字符串?dāng)?shù)組失敗,則拋出此異常。

readStringArray

public final String[] readStringArray()

從 Parcel 實(shí)例中讀取一個(gè)字符串?dāng)?shù)組。

返回:

返回一個(gè)字符串?dāng)?shù)組。

readStringList

public final ListString readStringList()

從 Parcel 讀取字符串列表。

您可以使用此方法讀取 writeStringList(java.util.List) 和 [writeStringArray(java.lang.String]) 寫(xiě)入 Parcel 的字符串。

返回:

返回一個(gè)只讀字符串列表對(duì)象。

readSequenceableArray

public final void readSequenceableArray(Sequenceable[] val)

從 Parcel 實(shí)例中讀取一個(gè) Sequenceable 對(duì)象數(shù)組。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要讀取的 Sequenceable 對(duì)象數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果讀取可排序數(shù)組失敗,則拋出此異常。

readSequenceableList

public final <T extends Sequenceable> List<T> readSequenceableList(Class<T> clz)

從此 Parcel 實(shí)例中讀取指定類(lèi)型的 Sequenceable 對(duì)象列表。

提供 Sequenceable 對(duì)象的類(lèi)必須具有 Sequenceable.Producer 類(lèi)型的靜態(tài)成員變量 CREATOR。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
clz 指示要讀取的 Sequenceable 對(duì)象的類(lèi)型。

返回:

返回 Sequenceable 對(duì)象的列表。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果無(wú)法獲取 Sequenceable 的 CREATOR,則拋出此異常。

readSequenceableMap

public final <T extends Sequenceable> MapString,T readSequenceableMap(Class<T> valueType)

從此 Parcel 實(shí)例中讀取 Map 對(duì)象。 在 Map 對(duì)象中,鍵是 String 類(lèi)型,值來(lái)自實(shí)現(xiàn)了 Sequenceable 的東西。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
valueType 指示要讀取的 Map 對(duì)象的值類(lèi)型。

返回:

返回一個(gè) Map 對(duì)象,其鍵是 String 類(lèi)型,值來(lái)自實(shí)現(xiàn) Sequenceable 的東西。

writeTypedSequenceable

public final void writeTypedSequenceable(Sequenceable sequenceable)

使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對(duì)象寫(xiě)入 Parcel 實(shí)例。

此方法還將 Sequenceable 對(duì)象的類(lèi)名寫(xiě)入 Parcel。 類(lèi)名將用于從 Parcel 中恢復(fù) Sequenceable 對(duì)象。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
sequenceable 指示已實(shí)現(xiàn) Sequenceable.Producer#createFromParcel 的 Sequenceable 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果在數(shù)據(jù)寫(xiě)入過(guò)程中發(fā)生異常,則拋出此異常。

createSequenceable

public final <T extends Sequenceable> T createSequenceable()

使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對(duì)象。

該方法根據(jù)writeTypedSequenceable(ohos.utils.Sequenceable)寫(xiě)入的類(lèi)名恢復(fù)Sequenceable對(duì)象。

返回:

返回新創(chuàng)建的 Sequenceable 對(duì)象; 如果無(wú)法恢復(fù) Sequenceable 對(duì)象,則返回 null。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果在數(shù)據(jù)讀取過(guò)程中發(fā)生異常,則拋出此異常。

createSequenceable

public final <T extends Sequenceable> T createSequenceable(ClassLoader classLoader)

使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建特定的 Sequenceable 對(duì)象。

該方法根據(jù)writeTypedSequenceable(ohos.utils.Sequenceable)寫(xiě)入的類(lèi)名恢復(fù)Sequenceable對(duì)象。

類(lèi)型參數(shù):

類(lèi)型參數(shù)名稱(chēng) 類(lèi)型參數(shù)描述
T 表示擴(kuò)展 Sequenceable 的類(lèi)。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
classLoader 表示用于加載 Sequenceable 類(lèi)的類(lèi)加載器。

返回:

返回新創(chuàng)建的 Sequenceable 對(duì)象; 如果無(wú)法恢復(fù) Sequenceable 對(duì)象,則返回 null。

writeTypedSequenceableArray

public final <T extends Sequenceable> void writeTypedSequenceableArray(T[] values)

使用 Sequenceable.Producer#createFromParcel(Parcel) 將 Sequenceable 對(duì)象數(shù)組寫(xiě)入 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Sequenceable 對(duì)象數(shù)組。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果在數(shù)據(jù)寫(xiě)入過(guò)程中發(fā)生異常,則拋出此異常。

writeSerializable

public final void writeSerializable(Serializable object)

將可序列化對(duì)象寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
object 指示要寫(xiě)入的可序列化對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果對(duì)象無(wú)法序列化或發(fā)生 I/O 錯(cuò)誤,則引發(fā)此異常。

readSerializable

public final <T extends Serializable> T readSerializable(Class<T> clz)

從此 Parcel 實(shí)例中讀取一個(gè)可序列化的對(duì)象。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
clz 指示要讀取的可序列化對(duì)象的類(lèi)型。

返回:

返回已讀取的可序列化對(duì)象; 如果無(wú)法讀取可序列化對(duì)象,則返回 null。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果要讀取的可序列化對(duì)象的類(lèi)型與 clz 不匹配或發(fā)生 I/O 錯(cuò)誤,則拋出此異常。

createSequenceableArray

public final Sequenceable[] createSequenceableArray()

使用 Sequenceable.Producer#createFromParcel(Parcel) 從 Parcel 創(chuàng)建一個(gè)特定的 Sequenceable 對(duì)象數(shù)組

返回:

返回新創(chuàng)建的 Sequenceable 對(duì)象數(shù)組; 如果無(wú)法恢復(fù) Sequenceable 對(duì)象數(shù)組,則返回 null。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果在數(shù)據(jù)讀取過(guò)程中發(fā)生異常,則拋出此異常。

readList

public List<?> readList()

從此 Parcel 實(shí)例中讀取對(duì)象列表。

返回:

返回對(duì)象列表。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果列表包含 Parcel 不支持的對(duì)象類(lèi)型,則引發(fā)此異常。

writeList

public void writeList(List<?> values)

將對(duì)象列表寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的對(duì)象列表。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果列表包含 Parcel 不支持的對(duì)象類(lèi)型或此 Parcel 中的容量不足,則拋出此異常,異常消息:ParcelException#NO_CAPACITY_ERROR。

readMap

public Map<?,?> readMap()

從此 Parcel 實(shí)例中讀取 Map 對(duì)象。

返回:

返回一個(gè) map 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 Map 對(duì)象包含 Parcel 不支持的鍵值對(duì)類(lèi)型,則拋出此異常。

writeMap

public void writeMap(Map<?,?> values)

將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

Map 對(duì)象中的鍵值對(duì)類(lèi)型必須是 Parcel 支持的。 否則會(huì)拋出異常。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Map 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 Map 對(duì)象包含 Parcel 不支持的鍵值對(duì)類(lèi)型,則拋出此異常
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeMap

public final void writeMap(Map<?,?> values, boolean isCross)

通過(guò)支持跨平臺(tái)將 Map 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

Map 對(duì)象中的鍵值對(duì)類(lèi)型必須是 Parcel 支持的。 否則會(huì)拋出異常。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
values 指示要寫(xiě)入的 Map 對(duì)象。
isCross 表示跨平臺(tái)的標(biāo)志。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 Map 對(duì)象包含 Parcel 不支持的鍵值對(duì)類(lèi)型,則拋出此異常
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writeValue

public final void writeValue(Object value)

將對(duì)象寫(xiě)入此 Parcel 實(shí)例。

這是一種無(wú)需聲明類(lèi)型即可編寫(xiě)對(duì)象的通用方法。 請(qǐng)注意以下事項(xiàng):

  • 要寫(xiě)入的對(duì)象類(lèi)型必須由 Parcel 支持。
  • 您只能使用 readValue() 來(lái)讀取已寫(xiě)入的對(duì)象。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
value 指示要寫(xiě)入的對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 Parcel 不支持對(duì)象類(lèi)型,則拋出此異常
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readValue

public final Object readValue()

從此 Parcel 實(shí)例中讀取一個(gè)對(duì)象。

該方法只能讀取 writeValue(java.lang.Object) 寫(xiě)入的對(duì)象。

返回:

返回對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 Parcel 不支持對(duì)象類(lèi)型,則引發(fā)此異常。

appendFrom

public final boolean appendFrom(Parcel other)

將指定 Parcel 對(duì)象的序列化值附加到此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
other 指示要附加的 Parcel 對(duì)象。

返回:

如果運(yùn)算符成功,則返回 true,否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
NullPointerException 如果 other 為 null,則引發(fā)此異常。
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writePlainBooleanArray

public final boolean writePlainBooleanArray(PlainBooleanArray value)

將 PlainBooleanArray 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
value 指示要寫(xiě)入的 PlainBooleanArray 對(duì)象。

返回:

如果 PlainBooleanArray 對(duì)象寫(xiě)入成功,則返回 true; 否則返回 false。

Throws:

Throw名稱(chēng) Throw描述
NullPointerException 如果值為 null,則引發(fā)此異常。
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readPlainBooleanArray

public final PlainBooleanArray readPlainBooleanArray()

從此 Parcel 實(shí)例中讀取一個(gè) PlainBooleanArray 對(duì)象。

返回:

返回 PlainBooleanArray 對(duì)象。

writePlainArray

public final <T> void writePlainArray(PlainArray<T> value)

將 PlainArray 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

類(lèi)型參數(shù):

類(lèi)型參數(shù)名稱(chēng) 類(lèi)型參數(shù)描述
T 指示存儲(chǔ)在 PlainArray 對(duì)象中的值的類(lèi)型。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
value 指示要寫(xiě)入的 PlainArray 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
NullPointerException 如果值為 null,則引發(fā)此異常。
ParcelException 如果列表包含 Parcel 不支持的對(duì)象類(lèi)型,則引發(fā)此異常。
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readPlainArray

public final <T> PlainArray<T> readPlainArray(Class<T> clzType)

從此 Parcel 實(shí)例中讀取一個(gè) PlainArray 對(duì)象。

類(lèi)型參數(shù):

類(lèi)型參數(shù)名稱(chēng) 類(lèi)型參數(shù)描述
T 指示存儲(chǔ)在 PlainArray 對(duì)象中的值的類(lèi)型。

返回:

返回 PlainArray 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果列表包含 Parcel 不支持的對(duì)象類(lèi)型,則引發(fā)此異常。

writeParcelableEx

public final void writeParcelableEx(ParcelableEx val)

將 ParcelableEx 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的 ParcelableEx 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果 marshallingEx 操作失敗。
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

writePacMapEx

public final void writePacMapEx(PacMapEx val)

將 PacMapEx 對(duì)象寫(xiě)入此 Parcel 實(shí)例。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
val 指示要寫(xiě)入的 PacMapEx 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果編組操作失敗。
ParcelException 當(dāng)這個(gè)包裹的容量不足時(shí),異常消息:ParcelException#NO_CAPACITY_ERROR。

readPacMapEx

public final void readPacMapEx(PacMapEx pacMapEx)

從此 Parcel 對(duì)象中讀取 PacMapEx 對(duì)象。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
pacMapEx 指示讀取數(shù)據(jù)將被解組到的 PacMapEx 對(duì)象。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果解組操作失敗。

readParcelableEx

public final ParcelableEx readParcelableEx(ClassLoader loader)

從此 Parcel 實(shí)例中讀取 ParcelableEx 對(duì)象。

如果 Parcel 實(shí)例不包含類(lèi)名或類(lèi)名不能用于調(diào)用無(wú)參構(gòu)造函數(shù)創(chuàng)建 ParcelableEx 對(duì)象,則讀取操作失敗。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
loader 如果需要,ClassLoader 用于創(chuàng)建自定義類(lèi)對(duì)象。

返回:

如果操作成功,則返回未編組的 ParcelableEx 對(duì)象; 否則返回 null。

Throws:

Throw名稱(chēng) Throw描述
ParcelException 如果解組操作失敗。

addAppClassLoader

public void addAppClassLoader(ClassLoader newClassLoader)

添加第三方 ClassLoader 用于實(shí)例初始化。

如果您需要編組或解組自定義 Sequenceable 實(shí)例,請(qǐng)?zhí)砑幽约旱?ClassLoader。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
newClassLoader 指示用于初始化應(yīng)用程序的 Sequenceable 實(shí)例的 ClassLoader。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)