codecamp

鸿蒙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 如果操作失败,则抛出此异常。
鸿蒙OS IOutput
鸿蒙OS Sequenceable.Producer
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }