1# 分布式数据管理子系统JS API变更Changelog
2
3OpenHarmony 3.2.10.1(Mr)版本相较于OpenHarmony 3.2.beta4版本,分布式数据管理子系统的API变更如下
4
5## cl.distributeddatamgr.1 接口变更
6distributeddatamgr子系统kv_store组件接口存在变更:
7
8由于执行时间固定且耗时短,不需要异步等待执行结果,createKVManager方法需要改为同步接口。因此旧的接口function createKVManager(config: KVManagerConfig): Promise\<KVManager\>; 与 function createKVManager(config: KVManagerConfig, callback: AsyncCallback<KVManager>): void; 改为 function createKVManager(config: KVManagerConfig): KVManager;
9
10开发者需要根据以下说明对应用进行适配。
11
12 **变更影响**
13
14影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
15
16**关键的接口/组件变更**
17
18| 模块名                    | 类名                | 方法/属性/枚举/常量                                          | 变更类型 |
19| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
20| @ohos.distributedKVStore        | distributedKVStore        | function createKVManager(config: KVManagerConfig): Promise\<KVManager\>; | 删除     |
21| @ohos.distributedKVStore        | distributedKVStore        | function createKVManager(config: KVManagerConfig): KVManager; | 变更     |
22
23
24**适配指导**
25
26应用中调用createKVManager创建KVManager对象实例可参考下列代码
27
28Stage模型下的示例:
29
30```ts
31import AbilityStage from '@ohos.application.Ability'
32let kvManager;
33export default class MyAbilityStage extends AbilityStage {
34    onCreate() {
35        console.log("MyAbilityStage onCreate")
36        let context = this.context
37        const kvManagerConfig = {
38            context: context,
39            bundleName: 'com.example.datamanagertest',
40        }
41        try {
42            kvManager = distributedKVStore.createKVManager(kvManagerConfig);
43        } catch (e) {
44            console.error(`Failed to create KVManager.code is ${e.code},message is ${e.message}`);
45        }
46    }
47}
48```
49
50FA模型下的示例:
51
52```ts
53import featureAbility from '@ohos.ability.featureAbility'
54let kvManager;
55let context = featureAbility.getContext()
56const kvManagerConfig = {
57    context: context,
58    bundleName: 'com.example.datamanagertest',
59}
60try {
61    kvManager = distributedKVStore.createKVManager(kvManagerConfig);
62} catch (e) {
63    console.error(`Failed to create KVManager.code is ${e.code},message is ${e.message}`);
64}
65```
66
67## cl.distributeddatamgr.2 function getRdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
68**变更影响**
69应用需要进行适配,才可以在新版本SDK环境正常编译通过。
70
71**关键的接口/组件变更**
72如下接口:
73```ts
74function getRdbStoreV9(context: Context, config: StoreConfigV9, version: number, callback: AsyncCallback<RdbStoreV9>): void;
75function getRdbStoreV9(context: Context, config: StoreConfigV9, version: number): Promise<RdbStoreV9>;
76```
77从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts:
78```
79function getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback<RdbStore>): void;
80function getRdbStore(context: Context, config: StoreConfig): Promise<RdbStore>;
81```
82
83**适配指导**
84 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
85 * 按上述接口变更对齐修改所调用的方法名称即可。
86
87## cl.distributeddatamgr.3 function deleteRdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
88**变更影响**
89应用需要进行适配,才可以在新版本SDK环境正常编译通过。
90
91**关键的接口/组件变更**
92如下接口:
93```ts
94function deleteRdbStoreV9(context: Context, name: string, callback: AsyncCallback<void>): void;
95function deleteRdbStoreV9(context: Context, name: string): Promise<void>;
96```
97从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts:
98```
99function deleteRdbStoreV9(context: Context, name: string, callback: AsyncCallback<void>): void;
100function deleteRdbStoreV9(context: Context, name: string): Promise<void>;
101```
102
103**适配指导**
104 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
105 * 按上述接口变更对齐修改所调用的方法名称即可。
106
107## cl.distributeddatamgr.4 interface StoreConfigV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
108**变更影响**
109应用需要进行适配,才可以在新版本SDK环境正常编译通过。
110
111**关键的接口/组件变更**
112interface StoreConfigV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface StoreConfig。
113
114**适配指导**
115 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
116 * 按上述接口变更对齐修改所调用的接口名称即可。
117
118## cl.distributeddatamgr.5 enum SecurityLevel 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
119**变更影响**
120应用需要进行适配,才可以在新版本SDK环境正常编译通过。
121
122**关键的接口/组件变更**
123enum SecurityLevel 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts124
125**适配指导**
126 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
127 * 按上述接口变更对齐修改所调用的接口名称即可。
128
129## cl.distributeddatamgr.6 interface RdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
130**变更影响**
131应用需要进行适配,才可以在新版本SDK环境正常编译通过。
132
133**关键的接口/组件变更**
134interface RdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface RdbStore。
135
136**适配指导**
137 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
138 * 按上述接口变更对齐修改所调用的接口名称即可。
139
140## cl.distributeddatamgr.7 class RdbPredicatesV9 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts
141**变更影响**
142应用需要进行适配,才可以在新版本SDK环境正常编译通过。
143
144**关键的接口/组件变更**
145class RdbPredicatesV9 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface RdbPredicates。
146
147**适配指导**
148 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
149 * 按上述接口变更对齐修改所调用的接口名称即可。
150
151## cl.distributeddatamgr.8 interface ResultSetV9 从api/@ohos.data.relationalStore.d.ts 迁移至@ohos.data.relationalStore.d.ts
152**变更影响**
153应用需要进行适配,才可以在新版本SDK环境正常编译通过。
154
155**关键的接口/组件变更**
156interface ResultSetV9 从api/data/rdb/resultSet.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface ResultSet。
157
158**适配指导**
159 * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`;
160 * ResultSetV9实例仅通过getRdbStoreV9方法获取,参考cl.distributeddatamgr.2变更后,代码可自动适配ResultSet。
161