到顶部
Android API
公众的最终

包裹

延伸对象
java.lang.Object(java.lang.对象)
android.os。包裹

课程概述

消息(数据和对象引用)的容器通过IBinder发送。地块可以包含两个展平数据在IPC的另一边将是不平坦的(使用各种这里的方法用于编写特定类型,或可包裹的接口)和对实时的引用I指示器将导致另一方接收代理IBinder的对象与地块中的原始IBinder连接。

包裹是通用的序列化机制。该类(以及相应的可包裹的用于将任意对象放置到地块中的API)是设计为高性能IPC传输。因此,它不是适合将任何地块数据放入永久存储:更改在包中任何数据的底层实现中可以使旧数据不可读。

Parcel API的主要功能是读取和写入数据各种类型。这类功能主要有六类。

基本要素

最基本的数据函数是用于写入和读取原语数据类型:写字节(字节),readByte(),写双(双),读双(),writeFloat(浮点),读浮点(),writeInt(int),读取Int(),writeLong(长),读取长度(),writeString(字符串),readString().大多数其他数据操作是建立在这些之上的。写入给定数据并使用主机CPU的尾数进行读取。

基本体阵列

有多种方法可以读取和写入原始数组基本对象,这通常导致写入4字节的长度然后是基本数据项。阅读方法可以是将数据读入现有数组,或创建并返回新数组。这些可用类型包括:

包裹

这个可包裹的协议提供了非常高效的(但低级)对象从Parcels中写入和读取自身的协议。您可以使用直接方法writeParcelable(可包裹,int)readParcelable(ClassLoader)writeParcelableArray(T[],int)readParcelableArray(ClassLoader)写或读。这些方法将类类型及其数据写入Parcel,从而允许稍后阅读。

还有一些方法可以提供更有效的工作方式带包裹:writeTypedArray(T[],int),writeTypedList(列表),readTypedArray(T[],Parcelable.Creator)readTypedList(列表,可包裹。造物主).这些方法不要写入原始对象的类信息:相反read函数的调用方必须知道预期的类型并传入适当的可包裹。造物主改为正确构造新对象并读取其数据。(为了更高效写入和读取单个Parceable对象,可以直接调用包裹.writeToParcel可包裹。创建者.createFromParcel你自己。)

一种特殊类型的安全容器,称为捆绑,可用用于异构值的键/值映射。这有很多优化用于提高读写数据的性能及其类型安全性API在最终编组时避免了难以调试的类型错误数据内容到地块中。使用的方法有writeBundle(捆绑包),读取绑定()、和readBundle(ClassLoader)

活动对象

Parcel的一个不寻常的特点是能够主动读写对象。对于这些对象,对象的实际内容不是写入,而是写入一个引用对象的特殊标记。什么时候?从地块读回对象时,不会获得的新实例对象,而是在与最初是写的。有两种形式的活动对象可用。

粘合剂对象是Android通用跨进程的核心功能通信系统。这个I指示器接口描述了一个抽象带有Binder对象的协议。任何这样的接口都可以写入一个包裹,阅读后您将收到原始物品实现该接口或特殊代理实现它将调用传递回原始对象。使用的方法有writeStrongBinder(IBinder),writeStrong接口(IIinterface),readStrongBinder(),writeBinderArray(IBinder[]),readBinderArray(IBinder[]),创建绑定数组(),writeBinderList(列表),readBinderList(列表),创建绑定数组列表()

FileDescriptor对象,表示原始Linux文件描述符标识符,可以写,并且地块文件描述符返回操作的对象在原始文件描述符上。返回的文件描述符是一个dup原始文件描述符:对象和fd不同,但在相同的底层文件流上操作,具有相同的位置,等等。使用的方法有writeFileDescriptor(文件描述符),读取文件描述符()

无类型容器

最后一类方法用于编写和读取标准Java任意类型的容器。这些都围绕着writeValue(对象)readValue(ClassLoader)方法定义允许的对象类型。容器方法包括writeArray(对象[]),readArray(ClassLoader),writeList(列表),readList(列表,ClassLoader),readArrayList(ClassLoader),writeMap(地图),readMap(地图,类加载器),writeParseArray(稀疏数组),readSparseArray(ClassLoader)

总结

领域
公众的静止的最终的造物主<字符串> 字符串_生成器
公共方法
最终的空隙 附加自(包裹地块,int偏移,int长度)
最终的I索引器[] 创建绑定器阵列()
最终的数组列表<I指示器> 创建BinderArrayList()
从中读取并返回包含IBinder对象的新ArrayList写着的包裹writeBinderList(列表)当前数据位置()。
最终的布尔值[] 创建BooleanArray()
最终的字节[] 创建字节数组()
从包裹中读取并返回一个字节[]对象。
最终的字符[] 创建字符数组()
最终的双[] 创建双数组()
最终的浮动[] 创建浮点数组()
最终的整数[] 创建IntArray()
最终的长[] 创建长数组()
最终的字符串[] 创建字符串数组()
最终的数组列表<字符串> 创建字符串数组列表()
从中读取并返回包含String对象的新ArrayList写着的包裹writeStringList(列表)当前数据位置()。
最终的<T>T【】 创建类型数组(造物主<T> c)
从中读取并返回包含特定对象类型的新数组当前数据位置()的包裹。
最终的<T>数组列表<T> 创建类型数组列表(造物主<T> c)
从中读取并返回包含特定对象类型的新ArrayList写着的包裹writeTypedList(列表)当前数据位置()。
最终的整数 数据可用()
返回要从中读取的剩余数据量包裹。
最终的整数 数据容量()
返回地块中的总空间量。
最终的整数 数据位置()
返回地块数据中的当前位置。
最终的整数 数据大小()
返回包裹中包含的数据总量。
最终的空隙 强制接口(字符串接口名称)
最终的布尔值 has文件描述符()
报告包裹是否包含任何编组文件描述符。
最终的字节[] 马歇尔()
返回地块的原始字节数。
静止的包裹 获得()
从池中检索新的地块对象。
最终的对象[] readArray(读取阵列)(类装载器装载机)
从当前地块读取并返回新的Object数组数据位置()。
最终的数组列表 readArrayList(读取阵列列表)(类装载器装载机)
从当前地块读取并返回新的ArrayList对象数据位置()。
最终的空隙 readBinderArray(读取绑定数组)(I索引器[]val)
最终的空隙 读取活页夹列表(列表<I指示器>列表)
读取使用编写的给定List项IBinder对象writeBinderList(列表)位于当前dataPosition()。
最终的空隙 readBooleanArray(读取布尔数组)(布尔值[]val)
最终的捆绑 读捆绑包(类装载器装载机)
读取当前包裹中的新Bundle对象并将其返回dataPosition(),使用给定的类加载器初始化类Bundle的加载程序,以便以后检索Parcelable对象。
最终的捆绑 读取捆绑包()
读取当前包裹中的新Bundle对象并将其返回数据位置()。
最终的字节 readByte(读取字节)()
从当前dataPosition()的包裹中读取字节值。
最终的空隙 readByteArray(读取字节数组)(字节[]val)
从地块中读取byte[]对象,并将其复制到给定字节数组。
最终的空隙 readCharArray(读取字符数组)(字符[]val)
最终的双重的 读双精度()
从位于的地块读取双精度浮点值当前数据位置()。
最终的空隙 readDoubleArray(读取双数组)(双[]val)
最终的空隙 readException(读取异常)(int代码,字符串消息)
使用此函数进行自定义异常处理。
最终的空隙 readException(读取异常)()
用于从标题读取异常结果的特殊函数收到交易结果后使用的包裹。
最终的地块文件描述符 读取文件描述符()
从当前dataPosition()的包裹中读取FileDescriptor。
最终的浮动 readFloat(读取浮点)()
从当前地块读取浮点值数据位置()。
最终的空隙 readFloatArray(读取浮点数组)(浮点[]val)
最终的哈希图 读取哈希映射(类装载器装载机)
请使用readBundle(ClassLoader)而是(其数据必须具有已使用编写writeBundle(捆绑包)
最终的整数 读取Int()
从当前dataPosition()的地块读取整数值。
最终的空隙 读取IntArray(int[]val)
最终的空隙 readList(阅读列表)(列表outVal(输出值),类装载器装载机)
从当前地块读取现有List对象dataPosition(),使用给定的类加载器加载任何封闭的Parcelables公司。
最终的长的 readLong(读取长)()
从当前dataPosition()的包裹中读取长整数值。
最终的空隙 readLongArray(读取长数组)(长[]val)
最终的空隙 读取地图(地图outVal(输出值),类装载器装载机)
请使用readBundle(ClassLoader)而是(其数据必须具有已使用编写writeBundle(捆绑包)
最终的<T延伸可包裹的>T型 可读包裹(类装载器装载机)
阅读并从包裹中退回新包裹。
最终的可包裹[] readParcelableArray(读取包裹阵列)(类装载器装载机)
读取并从地块返回一个新的Parcelable数组。
最终的可序列化 readSerializable(可读序列化)()
从包裹中读取并返回一个新的Serializable对象。
最终的备用阵列 readSparseArray(读取备用阵列)(类装载器装载机)
从当前地块读取并返回新的SparseArray对象数据位置()。
最终的稀疏布尔数组 readSparseBooleanArray(读取稀疏布尔数组)()
从当前地块读取并返回新的SparseBooleanArray对象数据位置()。
最终的字符串 readString(读取字符串)()
从当前数据Position()处的地块中读取字符串值。
最终的空隙 readStringArray(读取字符串数组)(字符串[]val)
最终的空隙 readStringList(读取字符串列表)(列表<字符串>列表)
读入给定的List项使用编写的String对象writeStringList(列表)位于当前数据位置()。
最终的I指示器 阅读StrongBinder()
从当前数据位置()的地块读取对象。
最终的<T>空隙 readTypedArray(读取类型数组)(T[]值,造物主<T> c)
最终的<T>空隙 读取类型列表(列表<T> 列表,造物主<T> c)
阅读包含特定对象类型的给定列表项写的是writeTypedList(列表)当前数据位置()。
最终的对象 readValue(读取值)(类装载器装载机)
从包裹中读取键入的对象。
最终的空隙 再循环()
将地块对象放回池中。
最终的空隙 设置数据容量(int大小)
更改地块的容量(当前可用空间)。
最终的空隙 设置数据位置(int位置)
移动地块中的当前读/写位置。
最终的空隙 设置数据大小(int大小)
更改地块中的数据量。
最终的空隙 解组(字节[]数据,int英尺,int长度)
将数据中的字节设置为该地块的原始字节。
最终的空隙 写入阵列(对象[]val)
将Object数组展平到当前dataPosition()处的地块中,增长数据容量()(如果需要)。
最终的空隙 writeBinderArray(写入绑定器阵列)(I索引器[]val)
最终的空隙 writeBinderList(写入绑定列表)(列表<I指示器>val)
将包含IBinder对象的列表展平到地块中,位置为当前的dataPosition()和不断增长的dataCapacity()(如果需要)。
最终的空隙 写入工具数组(布尔值[]val)
最终的空隙 写绑定(捆绑val)
将Bundle展平到当前数据Position()处的地块中,如果需要,增加dataCapacity()。
最终的空隙 写入字节(字节值)
将字节值写入当前数据位置()的包裹中,如果需要,增加dataCapacity()。
最终的空隙 writeByteArray(写入字节阵列)(字节[]b,int偏移量,int长度)
将字节数组写入当前包裹数据位置(),增长的数据容量()如果需要。
最终的空隙 writeByteArray(写入字节阵列)(字节[]b)
将字节数组写入当前包裹数据位置(),增长的数据容量()如果需要。
最终的空隙 写入CharArray(字符[]val)
最终的空隙 双写(双val)
将双精度浮点值写入地块当前dataPosition(),根据需要增加dataCapacity()。
最终的空隙 writeDoubleArray(写入双数组)(双[]val)
最终的空隙 写入异常(例外情况e)
用于在标题处写入异常结果的特殊函数包裹,在从交易中返回异常时使用。
最终的空隙 写入文件描述符(文件描述符val)
在当前dataPosition()的包裹中写入FileDescriptor,如果需要,增加dataCapacity()。
最终的空隙 写浮点(浮动值)
在当前地块中写入浮点值dataPosition(),根据需要增加dataCapacity()。
最终的空隙 writeFloatArray(写入浮点数组)(浮点[]val)
最终的空隙 写入Int(整数val)
将整数值写入当前数据位置()的包裹中,如果需要,增加dataCapacity()。
最终的空隙 writeIntArray(写入IntArray)(int[]val)
最终的空隙 writeInterfaceToken(写入接口令牌)(字符串接口名称)
在当前包裹中存储或读取IBinder接口令牌数据位置()
最终的空隙 writeList(写入列表)(列表val)
将列表展平到当前数据位置()的地块中,并不断增长dataCapacity()(如果需要)。
最终的空隙 长写(长val)
在当前dataPosition()的包裹中写入一个长整数值,如果需要,增加dataCapacity()。
最终的空隙 writeLongArray(写入长数组)(长[]val)
最终的空隙 写入地图(地图val)
请使用writeBundle(捆绑包)而不是。
最终的空隙 写入无异常()
用于在包裹正面书写信息的特殊功能表示没有发生异常。
最终的空隙 可写入的(可包裹的p、 int parcelableFlags)
展平包裹类别的名称及其内容放进包裹里。
最终的<T延伸可包裹的>空隙 writeParcelableArray(写入可扩展数组)(T[]值,int parcelableFlags)
将可地块对象的异构数组写入地块。
最终的空隙 可写可序列化(可序列化s)
将通用可序列化对象写入地块。
最终的空隙 writeParseArray(写入解析数组)(备用阵列<对象>val)
将通用SparseArray展平到当前地块中dataPosition(),根据需要增加dataCapacity()。
最终的空隙 writeSparseBooleanArray(写入解析布尔数组)(稀疏布尔数组val)
最终的空隙 写入字符串(字符串val)
在当前dataPosition()的包裹中写入字符串值,如果需要,增加dataCapacity()。
最终的空隙 writeStringArray(写入字符串数组)(字符串[]val)
最终的空隙 写入字符串列表(列表<字符串>val)
将包含字符串对象的列表展平到地块中,位置为当前dataPosition()和不断增长的dataCapacity()(如果需要)。
最终的空隙 writeStrong活页夹(I指示器val)
在当前数据Position()处将对象写入包裹,如果需要,增加dataCapacity()。
最终的空隙 writeStrong接口(I接口val)
在当前数据Position()处将对象写入包裹,如果需要,增加dataCapacity()。
最终的<T延伸可包裹的>空隙 writeTypedArray(写入类型数组)(T[]val,int parcelableFlags)
将包含特定对象类型的异构数组展平为包裹,在当前dataPosition()和不断增长的dataCapacity()(如果需要)。
最终的<T延伸可包裹的>空隙 写入类型列表(列表<T> val)
将包含特定对象类型的列表展平到地块中,位置为当前dataPosition()和不断增长的dataCapacity()(如果需要)。
最终的空隙 写入值(对象v)
将常规对象展平到地块中。
受保护的方法
空隙 最后确定()
当垃圾收集器检测到此实例不再可访问时调用。
最终的静止的地块 获得(int对象)
[展开]
继承的方法
来自班级java.lang.Object(java.lang.对象)

领域

公众静态的最终的造物主<字符串>字符串创建者

已在中添加API级别1

公共方法

公众最终空隙 附加自 (包裹地块,int偏移,int长度)

已在中添加API级别1

公众最终的I索引器[] 创建绑定器阵列 ()

已在中添加API级别1

公众最终的数组列表<I指示器> 创建BinderArrayList ()

已在中添加API级别1

从中读取并返回包含IBinder对象的新ArrayList写着的包裹writeBinderList(列表)当前数据位置()。如果之前写入的列表对象为空。

退换商品
  • 新创建的ArrayList包含具有相同数据的字符串和之前写的一样。

公众最终布尔值[] 创建工具数组 ()

已在中添加API级别1

公众最终字节[] 创建字节数组 ()

已在中添加API级别1

从包裹中读取并返回一个字节[]对象。

公众最终字符[] 创建CharArray ()

已在中添加API级别1

公众最终双[] 创建双数组 ()

已在中添加API级别1

公众最终浮动[] 创建浮点数组 ()

已在中添加API级别1

公众最终整数[] 创建IntArray ()

已在中添加API级别1

公众最终长[] 创建长数组 ()

已在中添加API级别1

公众最终的字符串[] 创建字符串数组 ()

已在中添加API级别1

公众最终的数组列表<字符串> 创建字符串数组列表 ()

已在中添加API级别1

从中读取并返回包含String对象的新ArrayList写着的包裹writeStringList(列表)当前数据位置()。如果以前写入的列表对象为null。

退换商品
  • 新创建的ArrayList包含具有相同数据的字符串就像以前写的一样。

公众最终T【】 创建类型数组 (造物主<T> c)

已在中添加API级别1

从中读取并返回包含特定对象类型的新数组当前数据位置()的包裹。如果之前写入的数组为空。阵列必须之前通过编写writeTypedArray(T[],int)用同样的对象类型。

退换商品
  • 新创建的数组包含具有相同数据的对象和之前写的一样。

公众最终的数组列表<T> 创建类型数组列表 (造物主<T> c)

已在中添加API级别1

从中读取并返回包含特定对象类型的新ArrayList写着的包裹writeTypedList(列表)当前数据位置()。如果之前写入的列表对象为空。列表必须之前通过编写writeTypedList(列表)使用相同的对象类型。

退换商品
  • 新创建的ArrayList,包含具有相同数据的对象和之前写的一样。

公众最终整数 数据可用 ()

已在中添加API级别1

返回要从中读取的剩余数据量包裹。那就是,数据大小()-数据位置()

公众最终整数 数据容量 ()

已在中添加API级别1

返回地块中的总空间量。这总是>=数据大小()。它与dataSize()的区别是在包裹需要重新分配之前剩余的房间数量数据缓冲区。

公众最终整数 数据位置 ()

已在中添加API级别1

返回地块数据中的当前位置。从未超过数据大小()

公众最终整数 数据大小 ()

已在中添加API级别1

返回包裹中包含的数据总量。

公众最终空隙 强制接口 (字符串接口名称)

已在中添加API级别1

公众最终布尔值 has文件描述符 ()

已在中添加API级别1

报告包裹是否包含任何编组文件描述符。

公众最终字节[] 马歇尔 ()

已在中添加API级别1

返回包裹的原始字节。

您在此处检索的数据不能放置在任何类型的持久存储中(在本地磁盘上,跨网络等)。为此,您应该使用标准序列化或另一种通用序列化机制。包裹编组表示针对本地IPC进行了高度优化这样不会试图维护与创建的数据的兼容性在平台的不同版本中。

公众静止的包裹 获得 ()

已在中添加API级别1

从池中检索新的地块对象。

公众最终的对象[] readArray(读取阵列) (类装载器装载机)

已在中添加API级别1

从当前地块读取并返回新的Object数组数据位置()。如果之前写入的数组是无效的。给定的类加载器将用于加载任何封闭的包裹。

公众最终的数组列表 读取阵列列表 (类装载器装载机)

已在中添加API级别1

从当前地块读取并返回新的ArrayList对象数据位置()。如果之前写入的列表对象是空。给定的类加载器将用于加载任何封闭的包裹。

公众最终空隙 readBinderArray(读取绑定数组) (I索引器[]val)

已在中添加API级别1

公众最终空隙 读取活页夹列表 (列表<I指示器>列表)

已在中添加API级别1

读取使用编写的给定List项IBinder对象writeBinderList(列表)位于当前dataPosition()。

退换商品
  • 新创建的ArrayList包含具有相同数据的字符串和之前写的一样。

公众最终空隙 readBooleanArray(读取布尔数组) (布尔值[]val)

已在中添加API级别1

公众最终的捆绑 读捆绑包 (类装载器装载机)

已在中添加API级别1

读取当前包裹中的新Bundle对象并将其返回dataPosition(),使用给定的类加载器初始化类Bundle的加载程序,以便以后检索Parcelable对象。如果之前写入的Bundle对象为null,则返回null。

公众最终的捆绑 读捆绑包 ()

已在中添加API级别1

读取当前包裹中的新Bundle对象并将其返回数据位置()。如果之前写入的Bundle对象是空。

公众最终字节 readByte(读取字节) ()

已在中添加API级别1

从当前dataPosition()的包裹中读取字节值。

公众最终空隙 readByteArray(读取字节数组) (字节[]val)

已在中添加API级别1

从包裹中读取字节[]对象并将其复制到给定字节数组。

公众最终空隙 读取字符数组 (字符[]val)

已在中添加API级别1

公众最终双重的 读双精度 ()

已在中添加API级别1

从地块读取双精度浮点值当前数据位置()。

公众最终空隙 读取DoubleArray (双[]val)

已在中添加API级别1

公众最终空隙 readException(读取异常) (int代码,字符串消息)

已在中添加API级别1

使用此函数进行自定义异常处理。自定义方法为所有未知情况调用此方法

参数
代码 异常代码
消息 异常消息

公众最终空隙 readException(读取异常) ()

已在中添加API级别1

用于从标题读取异常结果的特殊函数收到交易结果后使用的包裹。这个如果已写入包裹,将为您抛出异常,否则返回并让您从地块读取正常结果数据。

公众最终的地块文件描述符 读取文件描述符 ()

已在中添加API级别1

从当前dataPosition()的包裹中读取FileDescriptor。

公众最终浮动 readFloat(读取浮点) ()

已在中添加API级别1

从当前地块读取浮点值数据位置()。

公众最终空隙 readFloatArray(读取浮点数组) (浮点[]val)

已在中添加API级别1

公众最终的哈希图 读取哈希映射 (类装载器装载机)

已在中添加API级别1

请使用readBundle(ClassLoader)而是(其数据必须具有已使用编写writeBundle(捆绑包)。读取并返回新的HashMap使用给定的类装入器以装入任何封闭的地块。如果返回null之前编写的map对象为null。

公众最终整数 读取Int ()

已在中添加API级别1

从当前dataPosition()的地块读取整数值。

公众最终空隙 读取IntArray (int[]val)

已在中添加API级别1

公众最终空隙 readList(阅读列表) (列表outVal,类装载器装载机)

已在中添加API级别1

从当前地块读取现有List对象dataPosition(),使用给定的类加载器加载任何封闭的包裹。如果为空,则使用默认的类装入器。

公众最终长的 readLong(读取长) ()

已在中添加API级别1

从当前dataPosition()的包裹中读取长整数值。

公众最终空隙 readLongArray(读取长数组) (长[]val)

已在中添加API级别1

公众最终空隙 阅读地图 (地图outVal(输出值),类装载器装载机)

已在中添加API级别1

请使用readBundle(ClassLoader)而是(其数据必须具有已使用编写writeBundle(捆绑包)。读入现有的Map对象从当前dataPosition()的包裹中。

公众最终T型 可读包裹 (类装载器装载机)

已在中添加API级别1

阅读并从包裹中退回新包裹。给定的类装入器将用于加载任何封闭的包裹。如果为空,则默认值为将使用类加载器。

参数
装载机 从中实例化Parcelable的ClassLoader对象,或默认类加载器为null。
退换商品
  • 返回新创建的Parcelable,如果为null,则返回null对象已写入。
投掷
坏包裹异常 如果存在,则引发BadParcelableException尝试实例化包裹时出错。

公众最终的可分割[] readParcelableArray(读取包裹阵列) (类装载器装载机)

已在中添加API级别1

读取并从地块返回一个新的Parcelable数组。给定的类加载器将用于加载任何封闭的Parcelables公司。

退换商品
  • Parcelable数组,如果数组为null,则为null

公众最终的可序列化 readSerializable(可读序列化) ()

已在中添加API级别1

从包裹中读取并返回一个新的Serializable对象。

退换商品
  • Serializable对象,如果Serializaable名称为包裹里没有找到。

公众最终的备用阵列 readSparseArray(读取备用阵列) (类装载器装载机)

已在中添加API级别1

从当前地块读取并返回新的SparseArray对象数据位置()。如果之前写入的列表对象是无效的。给定的类加载器将用于加载任何封闭的包裹。

公众最终的稀疏布尔数组 readSparseBooleanArray(读取稀疏布尔数组) ()

已在中添加API级别1

从当前地块读取并返回新的SparseBooleanArray对象数据位置()。如果之前写入的列表对象是无效的。

公众最终的字符串 readString(读取字符串) ()

已在中添加API级别1

从当前dataPosition()处的地块读取字符串值。

公众最终空隙 readStringArray(读取字符串数组) (字符串[]val)

已在中添加API级别1

公众最终空隙 readStringList(读取字符串列表) (列表<字符串>列表)

已在中添加API级别1

读入给定的List项使用编写的String对象writeStringList(列表)位于当前dataPosition()。

退换商品
  • 新创建的ArrayList包含具有相同数据的字符串和之前写的一样。

公众最终的I指示器 读取StrongBinder ()

已在中添加API级别1

从当前数据位置()的地块读取对象。

公众最终空隙 readTypedArray(读取类型数组) (T[]值,造物主<T> c)

已在中添加API级别1

公众最终空隙 读取类型列表 (列表<T> 列表,造物主<T> c)

已在中添加API级别1

阅读包含特定对象类型的给定列表项写的是writeTypedList(列表)当前数据位置()。列表必须之前通过编写writeTypedList(列表)使用相同的对象类型。

退换商品
  • 新创建的ArrayList包含具有相同数据的对象和之前写的一样。

公众最终的对象 readValue(读取值) (类装载器装载机)

已在中添加API级别1

从包裹中读取键入的对象。给定的类加载器将是用于加载任何封闭的包裹。如果为null,则默认类将使用装载机。

公众最终空隙 再循环 ()

已在中添加API级别1

将地块对象放回池中。你不能碰此调用后的对象。

公众最终空隙 设置数据容量 (int大小)

已在中添加API级别1

更改地块的容量(当前可用空间)。

参数
大小 包裹的新容量,以字节为单位。不可能是小于数据大小()--也就是说,您不能删除现有数据使用此方法。

公众最终空隙 设置数据位置 (输入位置)

已在中添加API级别1

移动地块中的当前读/写位置。

参数
销售时点情报系统 包裹中的新偏移;必须介于0和之间数据大小()

公众最终空隙 设置数据大小 (int大小)

已在中添加API级别1

更改地块中的数据量。可以更小或大于当前大小。如果大于当前容量,将分配更多内存。

参数
大小 地块中的新字节数。

公众最终空隙 解组 (字节[]数据,int英尺,int长度)

已在中添加API级别1

将数据中的字节设置为该地块的原始字节。

公众最终空隙 writeArray(写入阵列) (对象[]val)

已在中添加API级别1

将Object数组展平到当前dataPosition()处的地块中,如果需要,增加dataCapacity()。数组值使用writeValue(对象)并且必须遵守那里的规范。

公众最终空隙 writeBinderArray(写入绑定器阵列) (I索引器[]val)

已在中添加API级别1

公众最终空隙 writeBinderList(写入绑定列表) (列表<I指示器>val)

已在中添加API级别1

将包含IBinder对象的列表展平到地块中,位置为当前dataPosition()和不断增长的dataCapacity()(如果需要)。他们稍后可以使用检索创建绑定数组列表()readBinderList(列表)

参数
val值 要写入的字符串列表。

公众最终空隙 写入工具数组 (布尔值[]val)

已在中添加API级别1

公众最终空隙 写绑定 (捆绑val)

已在中添加API级别1

在当前数据位置()将捆展平到包裹中,如果需要,增加dataCapacity()。

公众最终空隙 写入字节 (字节值)

已在中添加API级别1

在当前dataPosition()处将字节值写入地块,如果需要,增加dataCapacity()。

公众最终空隙 writeByteArray(写入字节阵列) (字节[]b,int偏移量,int长度)

已在中添加API级别1

将字节数组写入当前包裹数据位置(),增长的数据容量()如果需要。

参数
b条 放入包裹的字节数。
抵消 要写入的第一个字节的索引。
伦恩 要写入的字节数。

公众最终空隙 writeByteArray(写入字节阵列) (字节[]b)

已在中添加API级别1

将字节数组写入当前包裹数据位置(),增长的数据容量()如果需要。

参数
b条 放入包裹的字节数。

公众最终空隙 写入CharArray (字符[]val)

已在中添加API级别1

公众最终空隙 双写 (双val)

已在中添加API级别1

将双精度浮点值写入地块当前dataPosition(),根据需要增加dataCapacity()。

公众最终空隙 writeDoubleArray(写入双数组) (双[]val)

已在中添加API级别1

公众最终空隙 写入异常 (例外情况e)

已在中添加API级别1

用于在标题处写入异常结果的特殊函数包裹,在从交易中返回异常时使用。注意,这目前只支持少数异常类型;任何其他此函数将作为RuntimeException重新抛出异常(在以下情况下被系统的上次重新排序异常处理捕获:发送事务)。

支持的异常类型包括:

参数
e(电子) 要写入的异常。

公众最终空隙 写入文件描述符 (文件描述符val)

已在中添加API级别1

在当前dataPosition()的包裹中写入FileDescriptor,如果需要,增加dataCapacity()。

文件描述符不会关闭,这可能从Binder返回对象时导致文件描述符泄漏电话。使用写入包裹(包裹,int)相反,这接受上下文标志并将关闭原始文件描述符如果可拆分_写入_返回_值已设置。

公众最终空隙 写浮点 (浮点值)

已在中添加API级别1

在当前地块中写入浮点值dataPosition(),根据需要增加dataCapacity()。

公众最终空隙 writeFloatArray(写入浮点数组) (浮点[]val)

已在中添加API级别1

公众最终空隙 写入 (整数val)

已在中添加API级别1

将整数值写入当前数据位置()的包裹中,如果需要,增加dataCapacity()。

公众最终空隙 writeIntArray(写入IntArray) (int[]val)

已在中添加API级别1

公众最终空隙 writeInterfaceToken(写入接口令牌) (字符串接口名称)

已在中添加API级别1

在当前包裹中存储或读取IBinder接口令牌数据位置()。这用于验证整理的事务用于目标接口。

公众最终空隙 writeList(写入列表) (列表val)

已在中添加API级别1

将列表展平到当前数据位置()的地块中,并不断增长dataCapacity()(如果需要)。列表值使用writeValue(对象)并且必须遵守那里的规范。

公众最终空隙 长写 (长val)

已在中添加API级别1

在当前dataPosition()的包裹中写入一个长整数值,增长数据容量()(如果需要)。

公众最终空隙 writeLongArray(写入长数组) (长[]val)

已在中添加API级别1

公众最终空隙 写入地图 (地图val)

已在中添加API级别1

请使用writeBundle(捆绑包)而不是。将地图展平到地块中在当前数据位置(),如果需要,增加dataCapacity()。Map键必须是String对象。映射值使用writeValue(对象)并且必须遵循那里的规格。

强烈建议使用writeBundle(捆绑包)而不是由于Bundle类提供了一个类型安全的API允许您在编组时避免神秘的类型错误。

公众最终空隙 写入无异常 ()

已在中添加API级别1

用于在包裹正面书写信息的特殊功能表示没有发生异常。

公众最终空隙 可写可伸缩 (可包裹的p、 int parcelableFlags)

已在中添加API级别1

展平包裹类别的名称及其内容放入包裹。

参数
第页 要写入的Parcelable对象。
parcelable标志 上下文标记符合Parcelable.writeToParcel()

公众最终空隙 writeParcelableArray(写入可扩展数组) (T[]值,int parcelableFlags)

已在中添加API级别1

将可地块对象的异构数组写入地块。数组中的每个对象都与其类名一起写入,因此稍后可以实例化正确的类。因此,这开销明显高于writeTypedArray(T[],int),但会正确处理包含多个对象类型的数组。

参数
价值 要写入的对象数组。
parcelable标志 上下文标记符合Parcelable.writeToParcel()

公众最终空隙 可写入序列化 (可序列化s)

已在中添加API级别1

将通用可序列化对象写入地块。它很强大建议避免使用此方法,因为序列化开销非常大,这种方法将比使用其他方法将数据写入地块。

公众最终空隙 writeParseArray(写入解析数组) (备用阵列<对象>val)

已在中添加API级别1

将通用SparseArray展平到当前地块中dataPosition(),根据需要增加dataCapacity()。稀疏阵列值是使用writeValue(对象)并且必须遵循规范。

公众最终空隙 writeSparseBooleanArray(写入解析布尔数组) (稀疏布尔数组val)

已在中添加API级别1

公众最终空隙 写入字符串 (字符串val)

已在中添加API级别1

在当前dataPosition()的包裹中写入字符串值,如果需要,增加dataCapacity()。

公众最终空隙 writeStringArray(写入字符串数组) (字符串[]val)

已在中添加API级别1

公众最终空隙 写入字符串列表 (列表<字符串>val)

已在中添加API级别1

将包含字符串对象的列表展平到地块中,位于当前dataPosition()和不断增长的dataCapacity()(如果需要)。他们稍后可以使用检索创建字符串数组列表()readStringList(列表)

参数
val值 要写入的字符串列表。

公众最终空隙 writeStrong活页夹 (I指示器val)

已在中添加API级别1

在当前数据Position()处将对象写入包裹,如果需要,增加dataCapacity()。

公众最终空隙 writeStrong接口 (I接口val)

已在中添加API级别1

在当前数据Position()处将对象写入包裹,如果需要,增加dataCapacity()。

公众最终空隙 writeTypedArray(写入类型数组) (T[]val,int parcelableFlags)

已在中添加API级别1

将包含特定对象类型的异构数组展平为包裹,在当前dataPosition()和不断增长的dataCapacity()(如果需要)。这个数组中对象的类型必须是实现Parcelable的类型。writeParcelableArray(T[],int)然而,只有对象的原始数据是写入的,而不是其类型,因此必须使用readTypedArray(T[],Parcelable.Creator)用正确的对应可包裹。造物主实现来解组它们。

参数
val值 要写入的对象数组。
parcelable标志 上下文标志根据Parcelable.writeToParcel()

公众最终空隙 写入类型列表 (列表<T> val)

已在中添加API级别1

将包含特定对象类型的列表展平到地块中,位于当前dataPosition()和不断增长的dataCapacity()(如果需要)。这个列表中对象的类型必须是实现Parcelable的类型。然而,与通用的writeList()方法不同对象是写入的,而不是其类型,因此必须使用相应的readTypedList()来解组它们。

参数
val值 要写入的对象列表。

公众最终空隙 writeValue(写入值) (对象v)

已在中添加API级别1

将常规对象展平到地块中。给定的Object值可以当前为以下类型之一:

可包裹的对象是用编写的写入包裹(包裹,int)使用上下文标志0。什么时候?序列化对象包含地块文件描述符第页,这可能会导致文件描述符从绑定调用(其中可拆分_写入_返回_值应使用)。

受保护的方法

受保护的空隙 最后确定 ()

已在中添加API级别1

当垃圾收集器检测到此实例不再可访问时调用。默认实现不执行任何操作,但可以重写此方法以释放资源。

请注意,覆盖最后确定明显比对象。终结器可能会在对象不再存在后运行很长一段时间可访问,这取决于内存压力,因此依靠它们进行清理是个坏主意。还要注意,终结器在单个VM范围的终结器线程上运行,因此,在终结器中执行阻塞工作是一个坏主意。通常只需要终结器对于具有本机对等点并且需要调用本机方法来销毁该对等点的类。即使如此,最好提供一个明确的关闭方法(和实现可关闭),并坚持要求调用方手动处置实例。这个适用于类似文件的东西,但对于类似大整数其中典型的调用代码将不得不处理大量临时代码。不幸的是,从以下观点来看,创建大量临时代码的代码是最糟糕的代码类型单个终结器线程。

如果你必须使用终结器,至少考虑提供您自己的终结器引用队列并拥有自己的线程处理该队列。

与构造函数不同,终结器不会自动链接。你有责任打电话super.finalize()你自己。

终结器抛出的未捕获异常将被忽略,并且不会终止终结器线程。请参见通用程序设计第7项,“避免终结器”了解更多信息。

投掷
可抛出

受保护的静态的最终的包裹 获得 (int对象)

已在中添加API级别1