自定义类如何实现序列化

自定义类如何实现序列化

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
相关问题
求大佬告知如何序列化对象
366浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
788浏览 • 1回复 待解决
getContext(this)能否在自定义中使用
1192浏览 • 1回复 待解决
json 如何转换成自定义的业务对象
455浏览 • 1回复 待解决
如何实现自定义应用入场动画
416浏览 • 1回复 待解决
如何实现H5自定义事件
1051浏览 • 1回复 待解决
自定义弹窗自定义转场动画
474浏览 • 1回复 待解决
使用自定义弹窗实现分享弹窗
26浏览 • 1回复 待解决
如何访问自定义文件?
380浏览 • 1回复 待解决
如何自定义Component 属性
13622浏览 • 3回复 待解决
如何实现一个自定义样式的toast提示
888浏览 • 1回复 待解决
如何自定义组件原型菜单
477浏览 • 1回复 待解决