HarmonyOS鸿蒙Next中怎么控制持久存储中的信息,哪些在设备之间克隆时候被同步,哪些不被同步
HarmonyOS鸿蒙Next中怎么控制持久存储中的信息,哪些在设备之间克隆时候被同步,哪些不被同步 克隆情况下,如何分辨出是新的克隆版本。是不是可以控制哪些数据被克隆,哪些不被克隆
1.加密存储隔离
import { cryptoFramework } from '[@kit](/user/kit).CipherKit';
const cipher = await cryptoFramework.createSymKeyGenerator().generateSymKey();
const encrypted = await cipher.encryptData(sensitiveData);
await localPrefs.put('secret', encrypted);
2.沙箱路径隔离
系统级克隆时,以下路径默认不参与同步:
context.filesDir(应用沙箱文件路径)
context.databaseDir(本地数据库路径)
需通过@kit.FileManagementKit显式迁移沙箱文件:
import { fileIo } from '[@kit](/user/kit).FileManagementKit';
const srcPath = context.filesDir + '/cloneData.json';
const destPath = '共享目录路径';
await fileIo.copy(srcPath, destPath);
3.自定义克隆白名单
参考文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/app-sandbox-directory
更多关于HarmonyOS鸿蒙Next中怎么控制持久存储中的信息,哪些在设备之间克隆时候被同步,哪些不被同步的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,持久存储信息通过分布式数据管理框架控制。同步的数据包括应用数据、用户偏好及设置,具体由开发者在元数据中标记为可分布式同步。不同步的数据包括设备特定信息(如设备标识符)、安全敏感数据(如密钥及生物识别信息)及显式标记为本地存储的数据。同步行为基于同一华为账号及设备信任组,确保数据在可信设备间安全流转。
在HarmonyOS Next中,持久存储的数据同步行为可以通过分布式数据管理框架进行控制。默认情况下,应用数据分为同步数据和非同步数据两类:
- 同步数据:通过分布式数据对象(如DistributedDataObject)或跨设备数据管理接口标记的数据会在设备克隆时自动同步,例如用户配置、应用状态等。
- 非同步数据:本地存储(如普通文件、数据库未标记条目)默认不会跨设备同步。
开发者可以通过以下方式控制同步范围:
- 使用
DistributedDataManager
接口明确指定需同步的数据键值。 - 利用HarmonyOS的元数据标记(Metadata)区分数据类别,确保仅必要信息参与克隆。
克隆版本识别依赖设备唯一标识与时间戳,系统会自动处理版本冲突,应用无需额外判断。如需定制同步策略,需在代码中显式定义数据同步规则。