自定义类如何实现序列化

自定义类如何实现序列化

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
相关问题
求大佬告知如何序列化对象
720浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
56浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1786浏览 • 1回复 待解决
JSON反序列化如何重命名字段?
246浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
552浏览 • 1回复 待解决
在c++中实例自定义并调用方法
335浏览 • 1回复 待解决
getContext(this)能否在自定义中使用
2296浏览 • 1回复 待解决