自定义类如何实现序列化

自定义类如何实现序列化

HarmonyOS
2024-01-31 18:49:09
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
qezhu521

可以参考序列化方法:implements rpc.Parcelable。

示例代码如下:

import rpc from '@ohos.rpc'; 
import hilog from '@ohos.hilog'; 
import UIAbility from '@ohos.app.ability.UIAbility'; 
import AbilityConstant from '@ohos.app.ability.AbilityConstant'; 
 
class MyParcelable implements rpc.Parcelable { 
  num: number = 0; 
  str: string = ''; 
 
  constructor(num: number, str: string) { 
    this.num = num; 
    this.str = str; 
  } 
 
  marshalling(messageSequence: rpc.MessageSequence): boolean { 
    messageSequence.writeInt(this.num); 
    messageSequence.writeString(this.str); 
    return true; 
  } 
 
  unmarshalling(messageSequence: rpc.MessageSequence): boolean { 
    this.num = messageSequence.readInt(); 
    this.str = messageSequence.readString(); 
    return true; 
  } 
} 
 
let parcelable = new MyParcelable(1, "aaa"); 
let data = rpc.MessageSequence.create(); 
let result = data.writeParcelable(parcelable); 
hilog.info(0x0000, 'testTag', 'RpcClient: writeParcelable is ' + result); 
let ret = new MyParcelable(0, ""); 
let result2 = data.readParcelable(ret); 
hilog.info(0x0000, 'testTag', 'RpcClient: readParcelable is ' + result2); 
 
class MyUIAbility extends UIAbility { 
  onMemoryLevel(level: AbilityConstant.MemoryLevel) { 
    console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`); 
  } 
}

详细可以参考文档:Parcelable

分享
微博
QQ
微信
回复
2024-02-01 21:47:32
相关问题
有谁知道 task 参数无法序列化
195浏览 • 1回复 待解决
getContext(this)能否在自定义中使用
382浏览 • 1回复 待解决
如何实现H5自定义事件
339浏览 • 1回复 待解决
ArkTs如何自定义容器组件?
961浏览 • 1回复 待解决
鸿蒙怎么实现自定义布局的Dialog
7254浏览 • 2回复 已解决
如何自定义Component 属性
12934浏览 • 3回复 待解决
如何设置自定义组件height缺省
137浏览 • 1回复 待解决
js 自定义组件如何传递方法?
4220浏览 • 2回复 待解决
自定义组件中如何添加图片?
759浏览 • 1回复 待解决
ArkTS如何自定义资源文件
323浏览 • 1回复 待解决
如何在全局实现一个自定义dialog弹窗
266浏览 • 1回复 待解决
自定义组件如何导出、引入?
365浏览 • 1回复 待解决
如何设置自定义弹窗位置
227浏览 • 1回复 待解决
如何自定义弹窗中再次弹窗
191浏览 • 1回复 待解决
如何自定义Video组件控制栏样式
383浏览 • 1回复 待解决
是否支持自定义装饰器
223浏览 • 1回复 待解决