• Home
Name Date Size #Lines LOC

..--

ability/12-May-2024-7,1776,006

contacts/12-May-2024-4,8553,441

dataBusiness/12-May-2024-5,2584,138

figures/12-May-2024-

jstest/12-May-2024-19,89216,447

signature/12-May-2024-

test/12-May-2024-15,44811,226

BUILD.gnD12-May-20245.8 KiB142134

LICENSED12-May-20249.9 KiB177150

OAT.xmlD12-May-20242.3 KiB5031

README.en.mdD12-May-20241.8 KiB4434

README.mdD12-May-202421.6 KiB521426

config.jsonD12-May-20241.4 KiB6463

ohos.buildD12-May-2024411 1615

README.en.md

1# applications_contactsdata<a name="ZH-CN_TOPIC_0000001122925147"></a>
2
3-   [Introduction](#section1166054159366)
4-   [Image architecture](#section1619419895966)
5-   [Directory Structure](#section161941989596)
6-   [Repositories Involved](#section1371113476307)
7
8## Introduction<a name="section1166054159366"></a>
9
10The contact database application is an indispensable management information application for every user to manage the contact database.
11Its content is very important for user managers, so the contact database should be able to provide sufficient information and quick
12query means for each user's management, which greatly facilitates users to reasonably manage the contact database information.
13
14## Image architecture<a name="section1619419895966"></a>
15
16![](figures/Image_architecture.png)
17
18## Directory Structure<a name="section161941989596"></a>
19
20```
21/foundation/contactsdataability/
22├── ability
23│   ├── account                        #Account Management
24│   ├── checkpermission                #Permission Check
25│   ├── common                         #Public Method
26│   ├── datadisasterrecovery           #Data Corruption Recovery
27│   ├── merge                          #Contacts Merge
28│   └── sinicization                   #Chinese Characters to Pinyin Related
29├── contacts                            #NAPI
30├── dataBusiness
31│   ├── calllog                        #Call Records
32│   ├── contacts                       #Contacts Person
33│   ├── quicksearch                    #Quick Search
34│   └── voicemail                      #Voicemail
35├── test                               #Test Catalog
36├── BUILD.gn
37└── ohos.build
38```
39
40## Repositories Involved<a name="section1371113476307"></a>
41
42system applications
43
44applications_contactsdata

README.md

1# 联系人数据库子系统
2# applications_contactsdata
3
4-   [简介](#section1166054159366)
5-   [架构图](#section1619419895966)
6-   [目录](#section161941989596)
7-   [相关仓](#section1371113476307)
8
9## 简介<a name="section1166054159366"></a>
10
11联系人数据库应用是每一个用户管理联系人数据库的不可缺少的一个管理信息应用,
12它的内容对于用户管理者来说是至关重要的,所以联系人数据库应该能够为每一个
13用户的管理提供充足的信息和快捷查询手段,大大方便用户合理的管理联系人数据库信息。
14
15## 架构图<a name="section1619419895966"></a>
16
17![](figures/Image_architecture.png)
18
19## 目录<a name="section161941989596"></a>
20
21```
22/foundation/contactsdataability/
23├── ability
24│   ├── account                        #账户管理
25│   ├── checkpermission                #权限检测
26│   ├── common                         #公共方法:log,utils等
27│   ├── datadisasterrecovery           #数据损坏恢复
28│   ├── merge                          #联系人合并
29│   └── sinicization                   #汉字转拼音相关
30├── contacts                            #NAPI
31├── dataBusiness
32│   ├── calllog                        #通话记录
33│   ├── contacts                       #联系人
34│   ├── quicksearch                    #快速检索
35│   └── voicemail                      #语音信箱
36├── test                               #测试目录
37├── BUILD.gn
38└── ohos.build
39```
40## 使用说明
41
42### 概述
43
44提供联系人数据和通话记录以及语音信箱增、删、改、查、等接口。
45接口参数主要有string类型的uri和对象类型的value、DataAbilityPredicates
46
47使用功能接口前,需要导入相关模块。
48
49```js
50import featureAbility from '@ohos.ability.featureAbility';
51import ohos_data_ability from '@ohos.data.dataability';
52```
53### 通话记录
54
55#### DAHelper.insert(uri: string, value: ValuesBucket)
56
57- 接口说明
58
59  通话记录插入
60
61- insert参数描述
62
63  | 名称     | 读写属性 | 类型                   | 必填 | 描述                           |
64  | -------- | -------- | ---------------------- | ---- | ------------------------------ |
65  | uri      | 只读     | string                 | 是   | 具体操作的uri     |
66  | value    | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
67
68返回值为 通话记录id
69
70更新示例
71```js
72import featureAbility from '@ohos.ability.featureAbility';
73import ohos_data_ability from '@ohos.data.dataability';
74var  calllogDAhelperUri= "dataability:///com.ohos.calllogability";
75var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog";
76var value = {"phone_number" : "xxxxx","display_name" : "xxx"};
77// 获取DAHelper
78var DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri);
79// 调用insert方法
80DAHelper.insert(calllogUri, value).then((data) => {
81	console.info("calllogId = " + data);
82});
83```
84#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates)
85
86- 接口说明
87
88  通话记录修改
89
90- update参数描述
91
92  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
93  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
94  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
95  | value        | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
96  | condition    | 只读     | DataAbilityPredicates  | 是   | 更新条件            |
97
98返回值为 成功为0否则为-1
99
100修改示例
101```js
102import featureAbility from '@ohos.ability.featureAbility';
103import ohos_data_ability from '@ohos.data.dataability';
104var  calllogDAhelperUri= "dataability:///com.ohos.calllogability";
105var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog";
106var value = {"phone_number" : "xxxxx","display_name" : "xxx"};
107// 获取DAHelper
108var DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri);
109// 条件参数
110var condition = new ohos_data_ability.DataAbilityPredicates();
111condition.equalTo("id", "xxx");
112// 调用update方法
113DAHelper.update(calllogUri, value, condition).then((data) => {
114	console.info("resultCode = " + data);
115});
116```
117
118#### DAHelper.delete(uri: string, condition: DataAbilityPredicates)
119
120- 接口说明
121
122  通话记录删除
123
124- delete参数描述
125
126  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
127  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
128  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
129  | condition    | 只读     | DataAbilityPredicates  | 是   | 删除条件            |
130
131返回值为 成功为0否则为-1
132
133删除示例
134```js
135import featureAbility from '@ohos.ability.featureAbility';
136import ohos_data_ability from '@ohos.data.dataability';
137var  calllogDAhelperUri= "dataability:///com.ohos.calllogability";
138var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog";
139// 获取DAHelper
140var DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri);
141// 条件参数
142var condition = new ohos_data_ability.DataAbilityPredicates();
143condition.equalTo("id", "xxx");
144// 调用delete方法
145DAHelper.delete(calllogUri, condition).then((data) => {
146	console.info("deleteCode = " + data);
147});
148```
149
150#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates)
151
152- 接口说明
153
154  通话记录查询
155
156- 查询参数描述
157
158  | 名称             | 读写属性 | 类型                    | 必填  | 描述                           |
159  | --------         | -------- | ---------------------- | ----  | ------------------------------ |
160  | uri              | 只读     | string                 | 是    | 具体操作的uri        |
161  | resultColumns    | 只读     | array                   | 是   | 需要查询的列字段名称   |
162  | condition        | 只读     | DataAbilityPredicates  | 是    | 查询条件            |
163
164返回值为 ResultSet 查询结果集
165
166查询示例
167```js
168import featureAbility from '@ohos.ability.featureAbility';
169import ohos_data_ability from '@ohos.data.dataability';
170var  calllogDAhelperUri= "dataability:///com.ohos.calllogability";
171var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog";
172// 获取DAHelper
173var DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri);
174// 条件参数
175var condition = new ohos_data_ability.DataAbilityPredicates();
176condition.equalTo("id", "xxx");
177var resultColumns = [ "id", "display_name", "phone_number"];
178// 调用query方法
179DAHelper.query(calllogUri, resultColumns, condition).then((data) => {
180    if (resultSet.goToFirstRow()) {
181        do {
182            var displayName = resultSet.getString(resultSet.getColumnIndex("display_name"));
183            var id = resultSet.getInt(resultSet.getColumnIndex("id"));
184            var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number"));
185        } while (resultSet.goToNextRow());
186    }
187    resultSet.close();
188});
189```
190返回值为 ResultSet 查询结果集
191
192### 语音信箱
193
194#### DAHelper.insert(uri: string, value: ValuesBucket)
195
196- 接口说明
197
198  语音信箱插入
199
200- insert参数描述
201
202  | 名称     | 读写属性 | 类型                   | 必填 | 描述                           |
203  | -------- | -------- | ---------------------- | ---- | ------------------------------ |
204  | uri      | 只读     | string                 | 是   | 具体操作的uri     |
205  | value    | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
206
207返回值为 语音信箱表id
208
209更新示例
210```js
211import featureAbility from '@ohos.ability.featureAbility';
212import ohos_data_ability from '@ohos.data.dataability';
213var  voicemailDAhelperUri= "dataability:///com.ohos.voicemailability";
214var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail";
215var value = {"phone_number" : "xxxxx","display_name" : "xxx"};
216// 获取DAHelper
217var DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri);
218// 调用insert方法
219DAHelper.insert(voicemaiUri, value).then((data) => {
220	console.info("calllogId = " + data);
221});
222```
223#### DAHelper.update(uri: string, value: ValuesBucket, condition:DataAbilityPredicates)
224
225- 接口说明
226
227  语音信箱修改
228
229- update参数描述
230
231  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
232  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
233  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
234  | value        | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
235  | condition    | 只读     | DataAbilityPredicates  | 是   | 更新条件            |
236
237返回值为 成功为0否则为-1
238
239修改示例
240```js
241import featureAbility from '@ohos.ability.featureAbility';
242import ohos_data_ability from '@ohos.data.dataability';
243var  voicemailDAhelperUri= "dataability:///com.ohos.voicemailability";
244var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail";
245var value = {"phone_number" : "xxxxx","display_name" : "xxx"};
246// 获取DAHelper
247var DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri);
248// 条件参数
249var condition = new ohos_data_ability.DataAbilityPredicates();
250condition.equalTo("id", "xxx");
251// 调用update方法
252DAHelper.update(voicemaiUri, value, condition).then((data) => {
253	console.info("resultCode = " + data);
254});
255```
256
257#### DAHelper.delete(uri: string, condition: DataAbilityPredicates)
258
259- 接口说明
260
261  语音信箱删除
262
263- delete参数描述
264
265  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
266  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
267  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
268  | condition    | 只读     | DataAbilityPredicates  | 是   | 删除条件            |
269
270返回值为 成功为0否则为-1
271
272删除示例
273```js
274import featureAbility from '@ohos.ability.featureAbility';
275import ohos_data_ability from '@ohos.data.dataability';
276var  voicemailDAhelperUri= "dataability:///com.ohos.voicemailability";
277var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail";
278// 获取DAHelper
279var DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri);
280// 条件参数
281var condition = new ohos_data_ability.DataAbilityPredicates();
282condition.equalTo("id", "xxx");
283// 调用delete方法
284DAHelper.delete(voicemaiUri, condition).then((data) => {
285	console.info("deleteCode = " + data);
286});
287```
288
289#### DAHelper.query(uri: string, resultColumns:array, condition: DataAbilityPredicates)
290
291- 接口说明
292
293  语音信箱查询
294
295- 查询参数描述
296
297  | 名称             | 读写属性 | 类型                    | 必填  | 描述                           |
298  | --------         | -------- | ---------------------- | ----  | ------------------------------ |
299  | uri              | 只读     | string                 | 是    | 具体操作的uri        |
300  | resultColumns    | 只读     | array                   | 是   | 需要查询的列字段名称   |
301  | condition        | 只读     | DataAbilityPredicates  | 是    | 查询条件            |
302
303返回值为 ResultSet 查询结果集
304
305查询示例
306```js
307import featureAbility from '@ohos.ability.featureAbility';
308import ohos_data_ability from '@ohos.data.dataability';
309var  voicemailDAhelperUri= "dataability:///com.ohos.voicemailability";
310var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail";
311// 获取DAHelper
312var DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri);
313// 条件参数
314var condition = new ohos_data_ability.DataAbilityPredicates();
315condition.equalTo("id", "xxx");
316var resultColumns = [ "id", "display_name", "phone_number"];
317// 调用query方法
318DAHelper.query(voicemaiUri, resultColumns, condition).then((data) => {
319    if (resultSet.goToFirstRow()) {
320        do {
321            var displayName = resultSet.getString(resultSet.getColumnIndex("display_name"));
322            var id = resultSet.getInt(resultSet.getColumnIndex("id"));
323            var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number"));
324        } while (resultSet.goToNextRow());
325    }
326    resultSet.close();
327});
328```
329
330### 联系人
331
332#### DAHelper.insert(uri: string, value: ValuesBucket)
333
334- 接口说明
335
336  联系人插入
337
338- insert参数描述
339
340  | 名称     | 读写属性 | 类型                   | 必填 | 描述                           |
341  | -------- | -------- | ---------------------- | ---- | ------------------------------ |
342  | uri      | 只读     | string                 | 是   | 具体操作的uri     |
343  | value    | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
344
345返回值为 联系人数据表id
346
347更新示例
348```js
349import featureAbility from '@ohos.ability.featureAbility';
350import ohos_data_ability from '@ohos.data.dataability';
351var  contactsUri= "dataability:///com.ohos.contactsdataability";
352var rawContactUri  = "dataability:///com.ohos.contactsdataability/contacts/raw_contact";
353var contactDataUri  = "dataability:///com.ohos.contactsdataability/contacts/contact_data";
354var value = {"display_name" : "xxx"};
355// 获取DAHelper
356var DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri);
357// 调用insert方法
358DAHelper.insert(rawContactUri, value).then((rawContactId) => {
359	console.info("rawContactId = " + rawContactId);
360    // 联系人详细信息插入
361    var contactDataValues = {
362        "raw_contact_id" : rawContactId,
363        "content_type" : "name",
364        "detail_info" : "xxxxxxx"
365    };
366   DAHelper.insert(contactDataUri, contactDataValues).then((contactDataId) => {
367      console.info("rawContactId = " + contactDataId);
368   };
369});
370```
371#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates)
372
373- 接口说明
374
375  联系人修改
376
377- update参数描述
378
379  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
380  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
381  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
382  | value        | 只读     | ValuesBucket           | 是   | 数据库字段key-value对象 |
383  | condition    | 只读     | DataAbilityPredicates  | 是   | 更新条件            |
384
385返回值为 成功为0否则为-1
386
387修改示例
388```js
389import featureAbility from '@ohos.ability.featureAbility';
390import ohos_data_ability from '@ohos.data.dataability';
391var  contactsUri= "dataability:///com.ohos.contactsdataability";
392var rawContactUri  = "dataability:///com.ohos.contactsdataability/contacts/raw_contact";
393var contactDataUri  = "dataability:///com.ohos.contactsdataability/contacts/contact_data";
394var value = {"display_name" : "xxx"};
395// 获取DAHelper
396var DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri);
397// 条件参数
398var condition = new ohos_data_ability.DataAbilityPredicates();
399condition.equalTo("id", "xxx");
400// 调用update方法
401DAHelper.update(rawContactUri, value, condition).then((data) => {
402	console.info("resultCode = " + data);
403});
404```
405
406#### DAHelper.delete(uri: string, condition: DataAbilityPredicates)
407
408- 接口说明
409
410  联系人删除
411
412- delete参数描述
413
414  | 名称         | 读写属性 | 类型                    | 必填 | 描述                           |
415  | --------     | -------- | ---------------------- | ---- | ------------------------------ |
416  | uri          | 只读     | string                 | 是   | 具体操作的uri          |
417  | condition    | 只读     | DataAbilityPredicates  | 是   | 删除条件            |
418
419返回值为 成功为0否则为-1
420
421删除示例
422```js
423import featureAbility from '@ohos.ability.featureAbility';
424import ohos_data_ability from '@ohos.data.dataability';
425var  contactsUri= "dataability:///com.ohos.contactsdataability";
426var rawContactUri  = "dataability:///com.ohos.contactsdataability/contacts/raw_contact";
427var contactDataUri  = "dataability:///com.ohos.contactsdataability/contacts/contact_data";
428// 获取DAHelper
429var DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri);
430// 条件参数
431var condition = new ohos_data_ability.DataAbilityPredicates();
432condition.equalTo("id", "xxx");
433// 调用delete方法
434DAHelper.delete(contactDataUri, condition).then((data) => {
435	console.info("deleteCode = " + data);
436});
437```
438#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates)
439
440- 接口说明
441
442  联系人查询
443
444- 查询参数描述
445
446  | 名称             | 读写属性 | 类型                    | 必填  | 描述                           |
447  | --------         | -------- | ---------------------- | ----  | ------------------------------ |
448  | uri              | 只读     | string                 | 是    | 具体操作的uri        |
449  | resultColumns    | 只读     | array                   | 是   | 需要查询的列字段名称   |
450  | condition        | 只读     | DataAbilityPredicates  | 是    | 查询条件            |
451
452返回值为 ResultSet 查询结果集
453
454查询示例
455```js
456import featureAbility from '@ohos.ability.featureAbility';
457import ohos_data_ability from '@ohos.data.dataability';
458var  contactsUri= "dataability:///com.ohos.contactsdataability";
459var rawContactUri  = "dataability:///com.ohos.contactsdataability/contacts/raw_contact";
460// 获取DAHelper
461var DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri);
462// 条件参数
463var condition = new ohos_data_ability.DataAbilityPredicates();
464condition.equalTo("id", "xxx");
465var resultColumns = [ "id", "display_name"];
466// 调用query方法
467DAHelper.query(rawContactUri, resultColumns, condition).then((data) => {
468    if (resultSet.goToFirstRow()) {
469        do {
470            var displayName = resultSet.getString(resultSet.getColumnIndex("display_name"));
471        } while (resultSet.goToNextRow());
472    }
473    resultSet.close();
474});
475```
476| 系统公共uri                                                                       |
477| ---------------------------------------------------------                        |
478| dataability:///com.ohos.contactsdataability                                      |
479| dataability:///com.ohos.contactsdataability/contacts/contact                     |
480| dataability:///com.ohos.contactsdataability/contacts/raw_contact                 |
481| dataability:///com.ohos.contactsdataability/contacts/contact_data                |
482| dataability:///com.ohos.contactsdataability/contacts/raw_contact/query_merge_list|
483| dataability:///com.ohos.contactsdataability/contacts/raw_contact/split_contact   |
484| dataability:///com.ohos.contactsdataability/contacts/raw_contact/manual_merge    |
485| dataability:///com.ohos.contactsdataability/contacts/raw_contact/auto_merge      |
486| dataability:///com.ohos.contactsdataability/contacts/contact_type                |
487| dataability:///com.ohos.contactsdataability/contacts/groups                      |
488| dataability:///com.ohos.contactsdataability/contacts/photo_files                 |
489| dataability:///com.ohos.contactsdataability/contacts/contact_blocklist           |
490| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact         |
491| dataability:///com.ohos.contactsdataability/contacts/search_contact              |
492| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact         |
493| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact_record  |
494| dataability:///com.ohos.contactsdataability/contacts/backup                      |
495| dataability:///com.ohos.contactsdataability/contacts/recover                     |
496| dataability:///com.ohos.contactsdataability/profile/contact                      |
497| dataability:///com.ohos.contactsdataability/profile/raw_contact                  |
498| dataability:///com.ohos.contactsdataability/profile/contact_data                 |
499| dataability:///com.ohos.contactsdataability/profile/raw_contact/query_merge_list |
500| dataability:///com.ohos.contactsdataability/profile/raw_contact/split_contact    |
501| dataability:///com.ohos.contactsdataability/profile/raw_contact/manual_merge     |
502| dataability:///com.ohos.contactsdataability/profile/raw_contact/auto_merge       |
503| dataability:///com.ohos.contactsdataability/profile/contact_type                 |
504| dataability:///com.ohos.contactsdataability/profile/groups                       |
505| dataability:///com.ohos.contactsdataability/profile/photo_files                  |
506| dataability:///com.ohos.contactsdataability/profile/contact_blocklist            |
507| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact          |
508| dataability:///com.ohos.contactsdataability/profile/search_contact               |
509| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact          |
510| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact_record   |
511| dataability:///com.ohos.contactsdataability/profile/backup                       |
512| dataability:///com.ohos.contactsdataability/profile/recover                      |
513| dataability:///com.ohos.calllogability                                           |
514| dataability:///com.ohos.calllogability/calls/calllog                             |
515| dataability:///com.ohos.voicemailability                                         |
516| dataability:///com.ohos.voicemailability/calls/voicemail                         |
517## 相关仓<a name="section1371113476307"></a>
518
519系统应用
520
521applications_contactsdata