本示例主要展示了应用数据跨端迁移的能力,通过跨端迁移的能力实现了一个简单的随手记应用,可以响应系统迁移事件,控制应用的迁移能力、是否迁移页面栈以及迁移后是否退出源端等。同时实现了数据迁移以及ArkUI控件的迁移。本示例仅适配设备类型为phone。
本示例使用了权限管理接口@ohos.abilityAccessCtrl、分布式数据对象接口@ohos.data.distributedDataObject、基础文件操作接口@ohos.file.fs 、相册管理模块接口@ohos.file.photoAccessHelper、图片处理接口@ohos.multimedia.image等接口,通过分布式数据对象实现了图片数据的流转迁移。
主页 | 迁移设置页 | 笔记页 | 图片墙页 |
---|---|---|---|
使用说明
entry/src/main/ets/
|---common
| |---bean
| | |---WaterFlowDataSource.ets //瀑布流组件加载数据对象
| |---constants
| | |---CommonConstants.ets // 常量
| |---img
|---entryability
| |---EntryAbility.ets
|---pages
| |---Home.ets // 主页
| |---ImgWall.ets // 图片墙页
| |---Index.ets // 欢迎页
| |---Notes.ets // 笔记页
| |---Settings.ets // 迁移设置页
| |---Todolist.ets // 待办事项页
|---utils
| |---Logger.ts // 日志工具
|---viewmodel
| |---MainViewModel.ets // 获取轮播图数据
在端端迁移随手记应用里,迁移设置的功能在Setting.ets和entryability中的onContinue()实现,通过UIAbilityContext的setMissionContinueState可以设置当前应用任务流转的状态,控制当前应用是否具有迁移能力。通过设置wantConstant.Params.SUPPORT_CONTINUE_PAGE_STACK_KEY和wantConstant.Params.SUPPORT_CONTINUE_SOURCE_EXIT_KEY的值可以控制当前应用是否迁移页面栈以及迁移后源端是否退出。
笔记页通过分布式数据对象和分布式文件在Notes.ets中实现大文件(100KB以上)数据的迁移。通过分布式文件的跨设备文件访问实现了图片的迁移。源码参考:Notes.ets
通过restoreId()实现ArkUI控件保存对应信息的迁移,源码参考:ImgWall.ets。
允许不同设备间的数据交换:ohos.permission.DISTRIBUTED_DATASYNC
允许读取用户公共目录的图片或视频文件: ohos.permission.READ_IMAGEVIDEO
不涉及
如需单独下载本工程,执行如下命令:
git init
echo code/SuperFeature/DistributedAppDev/DistributedJotNote/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。