鸿蒙OS Sequenceable

Sequenceable

public interface Sequenceable

在进程间通信 (IPC) 期间将类的对象写入 Parcel 并从 Parcel 中恢复它们。

只有在类继承自 Sequenceable 并实现 Sequenceable 中提供的编组和解组方法后,才能在 IPC 期间完成此操作。 如果类有一个final成员变量,其值不能通过调用unmarshalling来改变,你还必须实现Sequenceable.Producer中的createFromParcel方法。

示例代码:

 public class Example implements Sequenceable {
     private int number;

     private String name;

     public boolean marshalling(Parcel out) {
         return out.writeInt(number) && out.writeString(name);
     }

     public boolean unmarshalling(Parcel in) {
         this.number = in.readInt();
         this.name = in.readString();
         return true;
     }

     public static final Sequenceable.Producer

      PRODUCER = new Sequenceable.Producer

      () {
         public Example createFromParcel(Parcel in) {
             // Initialize an instance first, then do customized unmarshlling.
             Example instance = new Example();
             instance.unmarshalling(in);
             return instance;
         }
     };
 }

嵌套类摘要

修饰符和类型 接口 描述
static interface Sequenceable.ProducerT 从 Parcel 创建一个 Sequenceable 实例。

方法总结

修饰符和类型 方法 描述
default boolean hasFileDescriptor() 检查此 Sequenceable 的实现类是否包含 FileDescriptor 对象数据。
boolean marshalling(Parcel out) 将此 Sequenceable 对象编组为 Parcel。
boolean unmarshalling(Parcel in) 从 Parcel 中解组此 Sequenceable 对象。

方法详情

hasFileDescriptor

default boolean hasFileDescriptor()

检查此 Sequenceable 的实现类是否包含 FileDescriptor 对象数据。

如果自定义 Sequenceable 类包含任何 FileDescriptor 数据,则应覆盖此方法。 此方法默认返回 false。

返回:

如果它包含 FileDescriptor 数据,则返回 true; 否则返回 false。

marshalling

boolean marshalling(Parcel out)

将此 Sequenceable 对象编组为 Parcel。

参数:

参数名称 参数描述
out 指示将 Sequenceable 对象编组到的 Parcel 对象。

返回:

如果编组成功,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
ParcelException 如果操作失败,则抛出此异常。

unmarshalling

boolean unmarshalling(Parcel in)

从 Parcel 中解组此 Sequenceable 对象。

参数:

参数名称 参数描述
in 指示已将 Sequenceable 对象编组到的 Parcel 对象。

返回:

如果解组成功,则返回 true; 否则返回 false。

Throws:

Throw名称 Throw描述
ParcelException 如果操作失败,则抛出此异常。
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS Sequenceable》
文章链接:https://zhuji.vsping.com/313966.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。