Class Info |
|---|
public class Data implements Parcelable 设备之间进行数据传输的数据类,数据以一个特定的类型(本地文件、传输流、字节消息)发送,接收方也需要以该类型接收。比如,接收stream数据必须通过asStream()返回的InputStream读取。 |
Qualifier and Type | Class Name and Description |
|---|---|
static class | 存储在本地的文件。 |
static class | 传输流。 |
@interface | 数据类型。 |
Qualifier and Type | Method Name and Description |
|---|---|
byte[] | asBytes() 获取BYTES类型字节数组载荷。 |
asFile() 获取FILE类型文件载荷。 | |
asStream() 获取STREAM类型流载荷。 | |
int | 返回当前Parcelable对象描述。 |
static Data | fromBytes(byte[] bytes) 从bytes数组创建一个BYTES类型数据实例。 |
static Data | fromFile(File javaFile) 从javaFile创建一个FILE类型数据实例。 |
static Data | fromFile(ParcelFileDescriptor pfd) 从pfd创建一个FILE类型数据实例。 |
static Data | fromStream(InputStream inputStream) 从inputStream创建一个STREAM类型数据实例。 |
static Data | fromStream(ParcelFileDescriptor pfd) 从pfd创建一个STREAM类型数据实例。 |
long | getId() 获取数据的唯一标识。 |
int | getType() 获取数据类型。 |
void | writeToParcel(Parcel dest, int flags) 序列化打包,把值写入dest容器。 |
Method |
|---|
public Data.File asFile() 获取FILE类型文件载荷。 |
Returns
Type | Description |
|---|---|
Data.File | Data.File实例。 |
Method |
|---|
public Data.Stream asStream() 获取STREAM类型流载荷。 |
Returns
Type | Description |
|---|---|
Data.Stream | Data.Stream实例。 |
Method |
|---|
public int describeContents() 返回当前Parcelable对象描述。 |
Returns
Type | Description |
|---|---|
int | 返回当前Parcelable对象描述。返回值如下:
|
Method |
|---|
public static Data fromBytes(byte[] bytes) 从bytes数组创建一个BYTES类型数据实例。 |
Parameters
Name | Description |
|---|---|
bytes | BYTES类型数组。 |
Returns
Type | Description |
|---|---|
Data | Data实例。 |
Throws
Name | Description |
|---|---|
NullPointerException | 空指针异常,并附带信息“Bytes is null, failed to create Data.BYTES”。 |
Method |
|---|
public static Data fromFile(File javaFile) throws FileNotFoundException 从javaFile创建一个FILE类型数据实例。远端收到文件后会以dataId命名且没有文件扩展名,存储在“/Downloads/Nearby”目录下。 应用负责对这个文件重命名,并且添加合适的扩展名。如果有必要,在进行文件传输之前,可以先把文件的全名发送给远端(比如,可以使用BYTES进行文件名传输)。 注意: 应用需要授予读取此目录文件的必要权限。 |
Parameters
Name | Description |
|---|---|
javaFile | FILE类型实例。 |
Returns
Type | Description |
|---|---|
Data | Data实例。 |
throws
Type | Description |
|---|---|
FileNotFoundException | 文件未找到。 |
NullPointerException | 空指针异常,并附带信息“Java file is null, failed to create Data.FILE”。 |
Method |
|---|
public static Data fromFile(ParcelFileDescriptor pfd) 从pfd创建一个FILE类型数据实例。例如,ParcelFileDescriptor通过调用openFileDescriptor(Uri, String)获取URI,返回值Data实例。 |
Parameters
Name | Description |
|---|---|
pfd | ParcelFileDescriptor类型实例。 |
Returns
Type | Description |
|---|---|
Data | Data实例。 |
Throws
Name | Description |
|---|---|
NullPointerException | 空指针异常,并附带信息“Parcel file descriptor is null, failed to create Data.FILE”。 |
Method |
|---|
public static Data fromStream(InputStream inputStream) 从inputStream创建一个STREAM类型数据实例。 |
Parameters
Name | Description |
|---|---|
inputStream | InputStream实例。例如,通过FileInputStream(File file)方法创建文件输入流(InputStream是FileInputStream的父类)。 |
Returns
Type | Description |
|---|---|
Data | Data实例。 |
Throws
Name | Description |
|---|---|
NullPointerException | 空指针异常,并附带信息“Input stream is null, failed to create Data.STREAM”。 |
Method |
|---|
public static Data fromStream(ParcelFileDescriptor pfd) 从pfd创建一个STREAM类型数据实例。 |
Parameters
Name | Description |
|---|---|
pfd | pfd为ParcelFileDescriptor类型实例,一直从ParcelFileDescriptor读数据直到关闭。 |
Returns
Type | Description |
|---|---|
Data | Data实例。 |
Throws
Name | Description |
|---|---|
NullPointerException | 空指针异常,并附带信息“Parcel file descriptor is null, failed to create Data.STREAM”。 |