目录

HarmonyOS-Next开发学习手册设备升级应用数据迁移适配指南一

HarmonyOS Next开发学习手册——设备升级应用数据迁移适配指南(一)

使用场景

终端设备从HarmonyOS 3.1 Release API 9及之前版本(简称HarmonyOS)升级到HarmonyOS NEXT Developer Preview1及之后版本(简称HarmonyOS NEXT)时,原HarmonyOS中运行的APK应用,升级后需要切换为HarmonyOS NEXT中的HarmonyOS原生应用(简称HarmonyOS应用)。APK应用的部分数据需要转换并迁移到指定位置后,才能被HarmonyOS应用访问。HarmonyOS NEXT提供了“数据迁移框架”和“备份恢复框架”,为开发者提供应用数据的迁移和转换能力。开发者完成适配,APK应用切换为HarmonyOS应用后,可继承原APK应用中适配HarmonyOS应用的数据。

如下图所示,应用需要的数据,包含云端服务器中的数据,本地应用沙箱中的数据和本地公共媒体库中的数据。为了应用的数据可以继承,开发者需要保证云端数据定义兼容APK应用和HarmonyOS应用,确保系统升级后同一帐号下的数据可识别。

https://i-blog.csdnimg.cn/blog_migrate/c010c3e2c8a3f5b5beb4715bfd625252.png

数据迁移机制

应用沙箱数据迁移机制

终端设备从HarmonyOS升级到HarmonyOS NEXT后,APK应用沙箱数据被搬迁到中间目录。针对应用沙箱数据,HarmonyOS NEXT提供“数据迁移框架”统一调度应用数据迁移任务。

应用数据迁移任务需要执行的步骤包括:应用安装,数据迁移和数据恢复。

  1. 应用安装步骤:

    1. “数据迁移框架”向华为应用市场发送HarmonyOS应用下载和安装请求。
    2. 华为应用市场下载并安装HarmonyOS应用。
  2. 数据迁移步骤:

    在HarmonyOS应用安装完成之后,“数据迁移框架”将应用沙箱数据从中间目录搬迁到备份恢复目录。

  3. 数据恢复步骤:

    1. 在应用数据搬迁到备份恢复目录后,“数据迁移框架”向“备份恢复框架”发送应用数据恢复请求。
    2. “备份恢复框架”拉起应用的“BackupExtensionAbility”独立进程,启动应用数据恢复。
    3. 应用通过“BackupExtensionAbility”从备份恢复目录加载APK应用的数据,处理后保存到HarmonyOS应用沙箱中,完成应用数据恢复。
    4. “备份恢复框架”在应用数据恢复完成后,清空备份恢复目录。

后续HarmonyOS应用通过访问HarmonyOS应用沙箱获取应用的数据。

https://i-blog.csdnimg.cn/blog_migrate/4723753332a87a3ba489216a8cf9486a.png

公共媒体库中数据迁移机制

公共媒体库中的数据,在终端设备从HarmonyOS升级到HarmonyOS NEXT后,会整体搬迁直接继承。应用可以使用HarmonyOS NEXT提供的API,访问公共媒体库中的数据。

https://i-blog.csdnimg.cn/blog_migrate/4b739d376b194736384500fa1a7f5be0.png

适配流程

适配流程包括:适配准备、应用适配、开发者自验证、应用上架和端到端验证。

**图1 **适配流程图

https://i-blog.csdnimg.cn/blog_migrate/93cbce043c8691f86fce757751933281.png

1. 适配准备阶段

在适配准备阶段,开发者需要分析清楚HarmonyOS中APK应用和HarmonyOS NEXT中HarmonyOS应用的数据范围和差异。

在开发之前,需要通过OTA升级的形式,将终端设备升级到HarmonyOS NEXT Developer Preview1。

2.1 应用适配

在适配准备工作完成后,进入应用适配阶段。开发者需要在HarmonyOS应用的代码中,实现“BackupExtensionAbility”,使应用接入到“备份恢复框架”中,完成应用数据的转换和迁移。在“BackupExtensionAbility”中需要进行适配,从备份恢复目录下,加载APK应用数据,将需要迁移的数据处理后,保存到HarmonyOS应用沙箱中。

当前指导(应用数据迁移适配指导) 将指导开发者在设备升级场景下接入“备份恢复框架”。更多“备份恢复框架”的资料可以参考: 应用接入数据备份恢复

注意

应用的“BackupExtensionAbility”执行完后,“备份恢复框架”会清空备份恢复目录,开发者请在应用的“BackupExtensionAbility”执行结束前,完成所有所需数据的转换和迁移。

后续HarmonyOS应用通过访问HarmonyOS应用沙箱获取应用的数据。

https://i-blog.csdnimg.cn/blog_migrate/bf25039d2ee52aa6c0ea2c3aa682840b.png

备份恢复目录如下表中所示:

备份恢复目录
/data/storage/el1/base/.backup/restore/{APK包名}/de/
/data/storage/el2/base/.backup/restore/{APK包名}/ce/
/data/storage/el2/base/.backup/restore/{APK包名}/A/data/
/data/storage/el2/base/.backup/restore/{APK包名}/A/obb/

HarmonyOS应用沙箱目录请参考 应用沙箱目录 。

2.2 开发者自验证

HarmonyOS NEXT Developer Beta1及之后版本,开发者需要联系华为方技术支持人员申请“迁移调试”工具,模拟进行数据迁移验证。或通过“华为开发者联盟官网”->“支持”, 在线提单 方式获取。

HarmonyOS NEXT Developer Beta1之前版本,开发者可以通过系统内置“迁移调试”工具,模拟进行数据迁移验证。

3. 应用上架

HarmonyOS应用适配成功后,在进行端到端验证之前,需要将HarmonyOS应用上架到华为应用市场。HarmonyOS应用上架指导请参考: 发布HarmonyOS应用指导

4. 端到端验证

在HarmonyOS应用上架到华为应用市场之后,华为方技术支撑人员会为开发者推送回退版本。如果终端设备为HarmonyOS NEXT,开发者需要将终端设备回退到HarmonyOS,在HarmonyOS中使用APK应用生成数据。应用数据准备完成后,请通过OTA升级形式,将终端设备升级到华为方提供的HarmonyOS NEXT。验证HarmonyOS NEXT中的HarmonyOS应用是否成功继承原APK应用的数据。

鸿蒙全栈开发全新学习指南

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。 所以要有一份实用的鸿蒙(HarmonyOS NEXT)学习路线与学习文档用来跟着学习是非常有必要的。

针对一些列因素,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线,包含了鸿蒙开发必掌握的核心知识要点,内容有(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、WebGL、元服务、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony驱动开发、系统定制移植等等)鸿蒙(HarmonyOS NEXT)技术知识点。

第一阶段:鸿蒙初中级开发必备技能

https://i-blog.csdnimg.cn/blog_migrate/25ffee0c08f3e3b6a285cdfd3bcf8b52.png#pic_center

第二阶段:鸿蒙南北双向高工技能基础:

https://i-blog.csdnimg.cn/blog_migrate/d40e254ad5298b1b9443673b5d2d65e8.png

第三阶段:应用开发中高级就业技术

https://i-blog.csdnimg.cn/blog_migrate/12a1f73ec20d4dbfb00e81a12a8a3b80.png

第四阶段:全网首发-工业级南向设备开发就业技术:

https://i-blog.csdnimg.cn/blog_migrate/4edc4135ad5e9589f07294c309fa6ceb.png

《鸿蒙 (Harmony OS)开发学习手册》(共计892页)

如何快速入门?

1.基本概念

2.构建第一个ArkTS应用

3.……

https://i-blog.csdnimg.cn/blog_migrate/95c9d69bf2799d495b48ef0afdc3a6c3.png

开发基础知识:

1.应用基础知识

2.配置文件

3.应用数据管理

4.应用安全管理

5.应用隐私保护

6.三方应用调用管控机制

7.资源分类与访问

8.学习ArkTS语言

9.……

https://i-blog.csdnimg.cn/blog_migrate/8a3c814f160a417762a1604f1100519b.png

基于ArkTS 开发

1.Ability开发

2.UI开发

3.公共事件与通知

4.窗口管理

5.媒体

6.安全

7.网络与链接

8.电话服务

9.数据管理

10.后台任务(Background Task)管理

11.设备管理

12.设备使用信息统计

13.DFX

14.国际化开发

15.折叠屏系列

16.……

https://i-blog.csdnimg.cn/blog_migrate/a7814f4329840186e6587683eb60ad61.png

鸿蒙开发面试真题(含参考答案):

https://i-blog.csdnimg.cn/blog_migrate/94175dfdc325a7ecd433aded1955becc.png

鸿蒙入门教学视频:

https://i-blog.csdnimg.cn/blog_migrate/38afbec31737974e20ce0f81a3bf6bae.png

美团APP实战开发教学:

https://i-blog.csdnimg.cn/blog_migrate/b2f662b1d4999c82896fb019422e345d.png

写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新学习资源,请移步前往小编:

https://i-blog.csdnimg.cn/blog_migrate/49e7c29e2e411f4d586dc9eebc71ab5b.png#pic_center