当前位置:   article > 正文

鸿蒙开发实例 | 分布式涂鸦_鸿蒙开发大作业(1)

鸿蒙开发实例 | 分布式涂鸦_鸿蒙开发大作业(1)
 this.cxt.moveTo(point.x,point.y);
  • 1

} else if (point.flag == “line”) {
this.cxt.lineTo(point.x,point.y);
this.cxt.stroke()
}
},

//启动流转
setUpRemote: async function transfer() {
try {
await FeatureAbility.continueAbility(0,null)
} catch (e) {
console.error(“迁移出错:” + JSON.stringify(e))
}
},
onStartContinuation: function onStartContinuation() {
//判断当前的状态是不是适合迁移
return true;
},
onCompleteContinuation: function onCompleteContinuation(code) {
//迁移操作完成,code返回结果
return true
},
onSaveData: function onSaveData(saveData) {
//数据保存到savedData中进行迁移。
saveData.points = this.sharePoints;
return true
},
onRestoreData: function onRestoreData(restoreData) {
//收到迁移数据,恢复。
this.sharePoints = restoreData.points;
return true
}
}


## 2、**实现画板实时共享功能**


多设备间实现涂鸦画板数据同步,在鸿蒙操作系统中,需要通过分布式数据库来完成。同时需要Service Ability把分布式数据库中的数据推送给前端的FA(JavaScript页面)。


下面介绍如何为涂鸦画板添加实时共享功能,步骤如下。


### **步骤1:****通过分布式数据库实现数据共享。**


定义一个BoardServiceAbility 的PA,如代码示例3所示,重写onStart方法,在onStart方法中引用和创建分布式数据服务,storeID为数据库名称。


代码示例3 创建分布式数据服务



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

public class BoardServiceAbility extends Ability {
private KvManagerConfig config;
private KvManager kvManager;
private String storeID = “board”;
private SingleKvStore singleKvStore;

@Override
protected void onStart(Intent intent) {
super.onStart(intent);
//初始化manager
config = new KvManagerConfig(this);
kvManager = KvManagerFactory.getInstance().createKvManager(config);

//创建数据库
Options options = new Options();
  • 1
  • 2

options.setCreateIfMissing(true).setEncrypt(false).setKvStoreType(KvStor

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/757213
推荐阅读
相关标签
  

闽ICP备14008679号