diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 9d613e5..0000000 --- a/README.en.md +++ /dev/null @@ -1,43 +0,0 @@ -# applications_contactsdata - -- [Introduction](#section1166054159366) -- [Image architecture](#section1619419895966) -- [Directory Structure](#section161941989596) -- [Repositories Involved](#section1371113476307) - -## Introduction - -The contact database application is an indispensable management information application for every user to manage the contact database. -Its content is very important for user managers, so the contact database should be able to provide sufficient information and quick -query means for each user's management, which greatly facilitates users to reasonably manage the contact database information. - -## Image architecture - -![](figures/Image_architecture.png) - -## Directory Structure - -``` -/foundation/contactsdataability/ -├── ability -│   ├── account #Account Management -│   ├── common #Public Method -│   ├── datadisasterrecovery #Data Corruption Recovery -│   ├── merge #Contacts Merge -│   └── sinicization #Chinese Characters to Pinyin Related -├── contacts #NAPI -├── dataBusiness -│   ├── calllog #Call Records -│   ├── contacts #Contacts Person -│   ├── quicksearch #Quick Search -│   └── voicemail #Voicemail -├── test #Test Catalog -├── BUILD.gn -└── ohos.build -``` - -## Repositories Involved - -system applications - -applications_contactsdata \ No newline at end of file diff --git a/README.md b/README.md index 582db97..2d4ce34 100644 --- a/README.md +++ b/README.md @@ -1,520 +1,43 @@ -# 联系人数据库子系统 -# applications_contactsdata +# applications_contactsdata -- [简介](#section1166054159366) -- [架构图](#section1619419895966) -- [目录](#section161941989596) -- [相关仓](#section1371113476307) +- [Introduction](#section1166054159366) +- [Image architecture](#section1619419895966) +- [Directory Structure](#section161941989596) +- [Repositories Involved](#section1371113476307) -## 简介 +## Introduction -联系人数据库应用是每一个用户管理联系人数据库的不可缺少的一个管理信息应用, -它的内容对于用户管理者来说是至关重要的,所以联系人数据库应该能够为每一个 -用户的管理提供充足的信息和快捷查询手段,大大方便用户合理的管理联系人数据库信息。 +The contact database application is an indispensable information management applicationS for every user to manage the contact database. +Its content is very important for user managers, so the contact database should be able to provide sufficient information and quick +query means for each user's management, which greatly helps users to reasonably manage the contact database information. -## 架构图 +## Image architecture ![](figures/Image_architecture.png) -## 目录 +## Directory Structure ``` /foundation/contactsdataability/ ├── ability -│   ├── account #账户管理 -│   ├── common #公共方法:log,utils等 -│   ├── datadisasterrecovery #数据损坏恢复 -│   ├── merge #联系人合并 -│   └── sinicization #汉字转拼音相关 +│   ├── account #Account Management +│   ├── common #Public Methods +│   ├── datadisasterrecovery #Data Corruption Recovery +│   ├── merge #Contacts Merge +│   └── sinicization #Chinese Characters to Pinyin Related ├── contacts #NAPI ├── dataBusiness -│   ├── calllog #通话记录 -│   ├── contacts #联系人 -│   ├── quicksearch #快速检索 -│   └── voicemail #语音信箱 -├── test #测试目录 +│   ├── calllog #Call Records +│   ├── contacts #Contacts Person +│   ├── quicksearch #Quick Search +│   └── voicemail #Voicemail +├── test #Test Catalog ├── BUILD.gn └── ohos.build ``` -## 使用说明 -### 概述 +## Repositories Involved -提供联系人数据和通话记录以及语音信箱增、删、改、查、等接口。 -接口参数主要有string类型的uri和对象类型的value、DataAbilityPredicates - -使用功能接口前,需要导入相关模块。 - -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -``` -### 通话记录 - -#### DAHelper.insert(uri: string, value: ValuesBucket) - -- 接口说明 - - 通话记录插入 - -- insert参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - -返回值为 通话记录id - -更新示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; -var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; -var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); -// 调用insert方法 -DAHelper.insert(calllogUri, value).then((data) => { - console.info("calllogId = " + data); -}); -``` -#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates) - -- 接口说明 - - 通话记录修改 - -- update参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | - -返回值为 成功为0否则为-1 - -修改示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; -var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; -var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用update方法 -DAHelper.update(calllogUri, value, condition).then((data) => { - console.info("resultCode = " + data); -}); -``` - -#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) - -- 接口说明 - - 通话记录删除 - -- delete参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | - -返回值为 成功为0否则为-1 - -删除示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; -var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用delete方法 -DAHelper.delete(calllogUri, condition).then((data) => { - console.info("deleteCode = " + data); -}); -``` - -#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates) - -- 接口说明 - - 通话记录查询 - -- 查询参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | - | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | - -返回值为 ResultSet 查询结果集 - -查询示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; -var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -var resultColumns = [ "id", "display_name", "phone_number"]; -// 调用query方法 -DAHelper.query(calllogUri, resultColumns, condition).then((data) => { - if (resultSet.goToFirstRow()) { - do { - var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); - var id = resultSet.getInt(resultSet.getColumnIndex("id")); - var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number")); - } while (resultSet.goToNextRow()); - } - resultSet.close(); -}); -``` -返回值为 ResultSet 查询结果集 - -### 语音信箱 - -#### DAHelper.insert(uri: string, value: ValuesBucket) - -- 接口说明 - - 语音信箱插入 - -- insert参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - -返回值为 语音信箱表id - -更新示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; -var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; -var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); -// 调用insert方法 -DAHelper.insert(voicemaiUri, value).then((data) => { - console.info("calllogId = " + data); -}); -``` -#### DAHelper.update(uri: string, value: ValuesBucket, condition:DataAbilityPredicates) - -- 接口说明 - - 语音信箱修改 - -- update参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | - -返回值为 成功为0否则为-1 - -修改示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; -var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; -var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用update方法 -DAHelper.update(voicemaiUri, value, condition).then((data) => { - console.info("resultCode = " + data); -}); -``` - -#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) - -- 接口说明 - - 语音信箱删除 - -- delete参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | - -返回值为 成功为0否则为-1 - -删除示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; -var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用delete方法 -DAHelper.delete(voicemaiUri, condition).then((data) => { - console.info("deleteCode = " + data); -}); -``` - -#### DAHelper.query(uri: string, resultColumns:array, condition: DataAbilityPredicates) - -- 接口说明 - - 语音信箱查询 - -- 查询参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | - | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | - -返回值为 ResultSet 查询结果集 - -查询示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; -var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -var resultColumns = [ "id", "display_name", "phone_number"]; -// 调用query方法 -DAHelper.query(voicemaiUri, resultColumns, condition).then((data) => { - if (resultSet.goToFirstRow()) { - do { - var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); - var id = resultSet.getInt(resultSet.getColumnIndex("id")); - var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number")); - } while (resultSet.goToNextRow()); - } - resultSet.close(); -}); -``` - -### 联系人 - -#### DAHelper.insert(uri: string, value: ValuesBucket) - -- 接口说明 - - 联系人插入 - -- insert参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - -返回值为 联系人数据表id - -更新示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var contactsUri= "dataability:///com.ohos.contactsdataability"; -var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; -var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; -var value = {"display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); -// 调用insert方法 -DAHelper.insert(rawContactUri, value).then((rawContactId) => { - console.info("rawContactId = " + rawContactId); - // 联系人详细信息插入 - var contactDataValues = { - "raw_contact_id" : rawContactId, - "content_type" : "name", - "detail_info" : "xxxxxxx" - }; - DAHelper.insert(contactDataUri, contactDataValues).then((contactDataId) => { - console.info("rawContactId = " + contactDataId); - }; -}); -``` -#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates) - -- 接口说明 - - 联系人修改 - -- update参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | - | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | - -返回值为 成功为0否则为-1 - -修改示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var contactsUri= "dataability:///com.ohos.contactsdataability"; -var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; -var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; -var value = {"display_name" : "xxx"}; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用update方法 -DAHelper.update(rawContactUri, value, condition).then((data) => { - console.info("resultCode = " + data); -}); -``` - -#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) - -- 接口说明 - - 联系人删除 - -- delete参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | - -返回值为 成功为0否则为-1 - -删除示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var contactsUri= "dataability:///com.ohos.contactsdataability"; -var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; -var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -// 调用delete方法 -DAHelper.delete(contactDataUri, condition).then((data) => { - console.info("deleteCode = " + data); -}); -``` -#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates) - -- 接口说明 - - 联系人查询 - -- 查询参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------------ | - | uri | 只读 | string | 是 | 具体操作的uri | - | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | - | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | - -返回值为 ResultSet 查询结果集 - -查询示例 -```js -import featureAbility from '@ohos.ability.featureAbility'; -import ohos_data_ability from '@ohos.data.dataability'; -var contactsUri= "dataability:///com.ohos.contactsdataability"; -var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; -// 获取DAHelper -let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); -// 条件参数 -var condition = new ohos_data_ability.DataAbilityPredicates(); -condition.equalTo("id", "xxx"); -var resultColumns = [ "id", "display_name"]; -// 调用query方法 -DAHelper.query(rawContactUri, resultColumns, condition).then((data) => { - if (resultSet.goToFirstRow()) { - do { - var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); - } while (resultSet.goToNextRow()); - } - resultSet.close(); -}); -``` -| 系统公共uri | -| --------------------------------------------------------- | -| dataability:///com.ohos.contactsdataability | -| dataability:///com.ohos.contactsdataability/contacts/contact | -| dataability:///com.ohos.contactsdataability/contacts/raw_contact | -| dataability:///com.ohos.contactsdataability/contacts/contact_data | -| dataability:///com.ohos.contactsdataability/contacts/raw_contact/query_merge_list| -| dataability:///com.ohos.contactsdataability/contacts/raw_contact/split_contact | -| dataability:///com.ohos.contactsdataability/contacts/raw_contact/manual_merge | -| dataability:///com.ohos.contactsdataability/contacts/raw_contact/auto_merge | -| dataability:///com.ohos.contactsdataability/contacts/contact_type | -| dataability:///com.ohos.contactsdataability/contacts/groups | -| dataability:///com.ohos.contactsdataability/contacts/photo_files | -| dataability:///com.ohos.contactsdataability/contacts/contact_blocklist | -| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact | -| dataability:///com.ohos.contactsdataability/contacts/search_contact | -| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact | -| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact_record | -| dataability:///com.ohos.contactsdataability/contacts/backup | -| dataability:///com.ohos.contactsdataability/contacts/recover | -| dataability:///com.ohos.contactsdataability/profile/contact | -| dataability:///com.ohos.contactsdataability/profile/raw_contact | -| dataability:///com.ohos.contactsdataability/profile/contact_data | -| dataability:///com.ohos.contactsdataability/profile/raw_contact/query_merge_list | -| dataability:///com.ohos.contactsdataability/profile/raw_contact/split_contact | -| dataability:///com.ohos.contactsdataability/profile/raw_contact/manual_merge | -| dataability:///com.ohos.contactsdataability/profile/raw_contact/auto_merge | -| dataability:///com.ohos.contactsdataability/profile/contact_type | -| dataability:///com.ohos.contactsdataability/profile/groups | -| dataability:///com.ohos.contactsdataability/profile/photo_files | -| dataability:///com.ohos.contactsdataability/profile/contact_blocklist | -| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact | -| dataability:///com.ohos.contactsdataability/profile/search_contact | -| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact | -| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact_record | -| dataability:///com.ohos.contactsdataability/profile/backup | -| dataability:///com.ohos.contactsdataability/profile/recover | -| dataability:///com.ohos.calllogability | -| dataability:///com.ohos.calllogability/calls/calllog | -| dataability:///com.ohos.voicemailability | -| dataability:///com.ohos.voicemailability/calls/voicemail | -## 相关仓 - -系统应用 +system applications applications_contactsdata \ No newline at end of file diff --git a/README_zh.md b/README_zh.md new file mode 100644 index 0000000..fa3bf20 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,520 @@ +# 联系人数据库子系统 +# applications_contactsdata + +- [简介](#section1166054159366) +- [架构图](#section1619419895966) +- [目录](#section161941989596) +- [相关仓](#section1371113476307) + +## 简介 + +联系人数据库应用是每一个用户管理联系人数据库的不可缺少的一个信息管理应用, +它的内容对于用户管理者来说是至关重要的,所以联系人数据库应该能够为每一个 +用户的管理提供充足的信息和快捷查询手段,大大方便用户合理的管理联系人数据库信息。 + +## 架构图 + +![](figures/Image_architecture_zh.png) + +## 目录 + +``` +/foundation/contactsdataability/ +├── ability +│   ├── account #账户管理 +│   ├── common #公共方法:log,utils等 +│   ├── datadisasterrecovery #数据损坏恢复 +│   ├── merge #联系人合并 +│   └── sinicization #汉字转拼音相关 +├── contacts #NAPI +├── dataBusiness +│   ├── calllog #通话记录 +│   ├── contacts #联系人 +│   ├── quicksearch #快速检索 +│   └── voicemail #语音信箱 +├── test #测试目录 +├── BUILD.gn +└── ohos.build +``` +## 使用说明 + +### 概述 + +提供联系人数据和通话记录以及语音信箱增、删、改、查、等接口。 +接口参数主要有string类型的uri和对象类型的value、DataAbilityPredicates + +使用功能接口前,需要导入相关模块。 + +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +``` +### 通话记录 + +#### DAHelper.insert(uri: string, value: ValuesBucket) + +- 接口说明 + + 通话记录插入 + +- insert参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + +返回值为 通话记录id + +更新示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; +var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; +var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); +// 调用insert方法 +DAHelper.insert(calllogUri, value).then((data) => { + console.info("calllogId = " + data); +}); +``` +#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates) + +- 接口说明 + + 通话记录修改 + +- update参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | + +返回值为 成功为0否则为-1 + +修改示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; +var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; +var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用update方法 +DAHelper.update(calllogUri, value, condition).then((data) => { + console.info("resultCode = " + data); +}); +``` + +#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) + +- 接口说明 + + 通话记录删除 + +- delete参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | + +返回值为 成功为0否则为-1 + +删除示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; +var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用delete方法 +DAHelper.delete(calllogUri, condition).then((data) => { + console.info("deleteCode = " + data); +}); +``` + +#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates) + +- 接口说明 + + 通话记录查询 + +- 查询参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | + | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | + +返回值为 ResultSet 查询结果集 + +查询示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var calllogDAhelperUri= "dataability:///com.ohos.calllogability"; +var calllogUri = "dataability:///com.ohos.calllogability/calls/calllog"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +var resultColumns = [ "id", "display_name", "phone_number"]; +// 调用query方法 +DAHelper.query(calllogUri, resultColumns, condition).then((data) => { + if (resultSet.goToFirstRow()) { + do { + var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); + var id = resultSet.getInt(resultSet.getColumnIndex("id")); + var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number")); + } while (resultSet.goToNextRow()); + } + resultSet.close(); +}); +``` +返回值为 ResultSet 查询结果集 + +### 语音信箱 + +#### DAHelper.insert(uri: string, value: ValuesBucket) + +- 接口说明 + + 语音信箱插入 + +- insert参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + +返回值为 语音信箱表id + +更新示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; +var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; +var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); +// 调用insert方法 +DAHelper.insert(voicemaiUri, value).then((data) => { + console.info("calllogId = " + data); +}); +``` +#### DAHelper.update(uri: string, value: ValuesBucket, condition:DataAbilityPredicates) + +- 接口说明 + + 语音信箱修改 + +- update参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | + +返回值为 成功为0否则为-1 + +修改示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; +var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; +var value = {"phone_number" : "xxxxx","display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用update方法 +DAHelper.update(voicemaiUri, value, condition).then((data) => { + console.info("resultCode = " + data); +}); +``` + +#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) + +- 接口说明 + + 语音信箱删除 + +- delete参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | + +返回值为 成功为0否则为-1 + +删除示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; +var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(voicemailDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用delete方法 +DAHelper.delete(voicemaiUri, condition).then((data) => { + console.info("deleteCode = " + data); +}); +``` + +#### DAHelper.query(uri: string, resultColumns:array, condition: DataAbilityPredicates) + +- 接口说明 + + 语音信箱查询 + +- 查询参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | + | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | + +返回值为 ResultSet 查询结果集 + +查询示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var voicemailDAhelperUri= "dataability:///com.ohos.voicemailability"; +var voicemaiUri = "dataability:///com.ohos.voicemailability/calls/voicemail"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(calllogDAhelperUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +var resultColumns = [ "id", "display_name", "phone_number"]; +// 调用query方法 +DAHelper.query(voicemaiUri, resultColumns, condition).then((data) => { + if (resultSet.goToFirstRow()) { + do { + var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); + var id = resultSet.getInt(resultSet.getColumnIndex("id")); + var phoneNumber = resultSet.getString(resultSet.getColumnIndex("phone_number")); + } while (resultSet.goToNextRow()); + } + resultSet.close(); +}); +``` + +### 联系人 + +#### DAHelper.insert(uri: string, value: ValuesBucket) + +- 接口说明 + + 联系人插入 + +- insert参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + +返回值为 联系人数据表id + +更新示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var contactsUri= "dataability:///com.ohos.contactsdataability"; +var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; +var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; +var value = {"display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); +// 调用insert方法 +DAHelper.insert(rawContactUri, value).then((rawContactId) => { + console.info("rawContactId = " + rawContactId); + // 联系人详细信息插入 + var contactDataValues = { + "raw_contact_id" : rawContactId, + "content_type" : "name", + "detail_info" : "xxxxxxx" + }; + DAHelper.insert(contactDataUri, contactDataValues).then((contactDataId) => { + console.info("rawContactId = " + contactDataId); + }; +}); +``` +#### DAHelper.update(uri: string, value: ValuesBucket, condition: DataAbilityPredicates) + +- 接口说明 + + 联系人修改 + +- update参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | value | 只读 | ValuesBucket | 是 | 数据库字段key-value对象 | + | condition | 只读 | DataAbilityPredicates | 是 | 更新条件 | + +返回值为 成功为0否则为-1 + +修改示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var contactsUri= "dataability:///com.ohos.contactsdataability"; +var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; +var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; +var value = {"display_name" : "xxx"}; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用update方法 +DAHelper.update(rawContactUri, value, condition).then((data) => { + console.info("resultCode = " + data); +}); +``` + +#### DAHelper.delete(uri: string, condition: DataAbilityPredicates) + +- 接口说明 + + 联系人删除 + +- delete参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | condition | 只读 | DataAbilityPredicates | 是 | 删除条件 | + +返回值为 成功为0否则为-1 + +删除示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var contactsUri= "dataability:///com.ohos.contactsdataability"; +var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; +var contactDataUri = "dataability:///com.ohos.contactsdataability/contacts/contact_data"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +// 调用delete方法 +DAHelper.delete(contactDataUri, condition).then((data) => { + console.info("deleteCode = " + data); +}); +``` +#### DAHelper.query(uri: string, resultColumns: array, condition: DataAbilityPredicates) + +- 接口说明 + + 联系人查询 + +- 查询参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------------ | + | uri | 只读 | string | 是 | 具体操作的uri | + | resultColumns | 只读 | array | 是 | 需要查询的列字段名称 | + | condition | 只读 | DataAbilityPredicates | 是 | 查询条件 | + +返回值为 ResultSet 查询结果集 + +查询示例 +```js +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataability'; +var contactsUri= "dataability:///com.ohos.contactsdataability"; +var rawContactUri = "dataability:///com.ohos.contactsdataability/contacts/raw_contact"; +// 获取DAHelper +let DAHelper = featureAbility.acquireDataAbilityHelper(contactsUri); +// 条件参数 +var condition = new ohos_data_ability.DataAbilityPredicates(); +condition.equalTo("id", "xxx"); +var resultColumns = [ "id", "display_name"]; +// 调用query方法 +DAHelper.query(rawContactUri, resultColumns, condition).then((data) => { + if (resultSet.goToFirstRow()) { + do { + var displayName = resultSet.getString(resultSet.getColumnIndex("display_name")); + } while (resultSet.goToNextRow()); + } + resultSet.close(); +}); +``` +| 系统公共uri | +| --------------------------------------------------------- | +| dataability:///com.ohos.contactsdataability | +| dataability:///com.ohos.contactsdataability/contacts/contact | +| dataability:///com.ohos.contactsdataability/contacts/raw_contact | +| dataability:///com.ohos.contactsdataability/contacts/contact_data | +| dataability:///com.ohos.contactsdataability/contacts/raw_contact/query_merge_list| +| dataability:///com.ohos.contactsdataability/contacts/raw_contact/split_contact | +| dataability:///com.ohos.contactsdataability/contacts/raw_contact/manual_merge | +| dataability:///com.ohos.contactsdataability/contacts/raw_contact/auto_merge | +| dataability:///com.ohos.contactsdataability/contacts/contact_type | +| dataability:///com.ohos.contactsdataability/contacts/groups | +| dataability:///com.ohos.contactsdataability/contacts/photo_files | +| dataability:///com.ohos.contactsdataability/contacts/contact_blocklist | +| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact | +| dataability:///com.ohos.contactsdataability/contacts/search_contact | +| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact | +| dataability:///com.ohos.contactsdataability/contacts/deleted_raw_contact_record | +| dataability:///com.ohos.contactsdataability/contacts/backup | +| dataability:///com.ohos.contactsdataability/contacts/recover | +| dataability:///com.ohos.contactsdataability/profile/contact | +| dataability:///com.ohos.contactsdataability/profile/raw_contact | +| dataability:///com.ohos.contactsdataability/profile/contact_data | +| dataability:///com.ohos.contactsdataability/profile/raw_contact/query_merge_list | +| dataability:///com.ohos.contactsdataability/profile/raw_contact/split_contact | +| dataability:///com.ohos.contactsdataability/profile/raw_contact/manual_merge | +| dataability:///com.ohos.contactsdataability/profile/raw_contact/auto_merge | +| dataability:///com.ohos.contactsdataability/profile/contact_type | +| dataability:///com.ohos.contactsdataability/profile/groups | +| dataability:///com.ohos.contactsdataability/profile/photo_files | +| dataability:///com.ohos.contactsdataability/profile/contact_blocklist | +| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact | +| dataability:///com.ohos.contactsdataability/profile/search_contact | +| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact | +| dataability:///com.ohos.contactsdataability/profile/deleted_raw_contact_record | +| dataability:///com.ohos.contactsdataability/profile/backup | +| dataability:///com.ohos.contactsdataability/profile/recover | +| dataability:///com.ohos.calllogability | +| dataability:///com.ohos.calllogability/calls/calllog | +| dataability:///com.ohos.voicemailability | +| dataability:///com.ohos.voicemailability/calls/voicemail | +## 相关仓 + +系统应用 + +applications_contactsdata \ No newline at end of file diff --git a/ability/common/utils/src/file_utils.cpp b/ability/common/utils/src/file_utils.cpp index c060738..555fa25 100644 --- a/ability/common/utils/src/file_utils.cpp +++ b/ability/common/utils/src/file_utils.cpp @@ -31,7 +31,7 @@ FileUtils::~FileUtils() int FileUtils::IsFolderExist(std::string path) { DIR *dp; - if ((dp = opendir(path.c_str())) == NULL) { + if ((dp = opendir(path.c_str())) == nullptr) { HILOG_ERROR("FileUtils file NULL"); return OPERATION_ERROR; } diff --git a/contacts/src/contacts_api.cpp b/contacts/src/contacts_api.cpp index 86362c4..04fe045 100644 --- a/contacts/src/contacts_api.cpp +++ b/contacts/src/contacts_api.cpp @@ -171,7 +171,7 @@ std::shared_ptr GetDataAbilityHelper(napi_e HILOG_ERROR("abilityObj is nullptr!"); } OHOS::AppExecFwk::Ability *ability = nullptr; - NAPI_CALL(env, napi_get_value_external(env, abilityObj, (void **)&ability)); + NAPI_CALL(env, napi_get_value_external(env, abilityObj, reinterpret_cast&&ability); if (ability == nullptr) { HILOG_ERROR("ability is nullptr!"); } @@ -586,7 +586,7 @@ NativeRdb::DataAbilityPredicates BuildIsMyCardPredicates(napi_env env, napi_valu void ExecuteDone(napi_env env, napi_status status, void *data) { - ExecuteHelper *executeHelper = (ExecuteHelper *)data; + ExecuteHelper *executeHelper = reinterpret_castdata; napi_value result = executeHelper->dataValue; executeHelper->dataValue = nullptr; napi_deferred deferred = executeHelper->deferred; @@ -604,7 +604,7 @@ void ExecuteSyncDone(napi_env env, napi_status status, void *data) return; } if (data != nullptr) { - ExecuteHelper *executeHelper = (ExecuteHelper *)data; + ExecuteHelper *executeHelper = reinterpret_castdata; napi_value global; napi_get_global(env, &global); napi_value resultData[1]; @@ -833,13 +833,15 @@ napi_value CreateAsyncWork(napi_env env, ExecuteHelper *executeHelper, napi_call napi_create_reference(env, argv[argc - 1], 1, &executeHelper->callBack); } napi_create_async_work( - env, nullptr, workName, Execute, ExecuteSyncDone, (void *)executeHelper, &(executeHelper->work)); + env, nullptr, workName, Execute, ExecuteSyncDone, reinterpret_castexecuteHelper, + &(executeHelper->work)); napi_get_null(env, &result); } else { napi_create_string_latin1(env, __func__, NAPI_AUTO_LENGTH, &workName); napi_create_promise(env, &(executeHelper->deferred), &result); napi_create_async_work( - env, nullptr, workName, Execute, ExecuteDone, (void *)executeHelper, &(executeHelper->work)); + env, nullptr, workName, Execute, ExecuteDone, reinterpret_castexecuteHelper, + &(executeHelper->work)); } napi_queue_async_work(env, executeHelper->work); executeHelper->promise = result; diff --git a/dataBusiness/contacts/src/contacts.cpp b/dataBusiness/contacts/src/contacts.cpp index 11d0fad..519f47f 100644 --- a/dataBusiness/contacts/src/contacts.cpp +++ b/dataBusiness/contacts/src/contacts.cpp @@ -123,7 +123,7 @@ int Contacts::DeleteContactById(std::shared_ptr rdbSt { std::shared_ptr &store = rdbStore; if (store == nullptr) { - HILOG_ERROR("ContactsAccount DeletecontactById store is nullptr"); + HILOG_ERROR("ContactsAccount DeletecontactById store is nullptr"); return RDB_OBJECT_EMPTY; } if (needDeleteContactId < ID_EMPTY) { diff --git a/dataBusiness/contacts/src/raw_contacts.cpp b/dataBusiness/contacts/src/raw_contacts.cpp index d6717d5..c2cf345 100644 --- a/dataBusiness/contacts/src/raw_contacts.cpp +++ b/dataBusiness/contacts/src/raw_contacts.cpp @@ -30,10 +30,10 @@ RawContacts::~RawContacts() } /** - * @brief RawContacts insert table raw_contact + * @brief Insert data to the raw_contact table * * @param rdbStore Insert operation based on rdbStore - * @param rawContactValues Pass in parameter rawContactValues + * @param rawContactValues Raw contact values to be inserted * * @return Insert database results code */ @@ -48,11 +48,11 @@ int RawContacts::InsertRawContact(std::shared_ptr rdb } /** - * @brief RawContacts update table raw_contact + * @brief Update data in the raw_contact table * * @param rdbStore Update operation based on rdbStore * @param upRawContactValues Pass in parameter upRawContactValues - * @param whereClause Conditions for update operation + * @param whereClause Clauses for update operation * @param whereArgs Conditions for update operation * * @return Update database results code diff --git a/dataBusiness/quicksearch/src/contacts_search.cpp b/dataBusiness/quicksearch/src/contacts_search.cpp index bc58463..8bdf710 100644 --- a/dataBusiness/quicksearch/src/contacts_search.cpp +++ b/dataBusiness/quicksearch/src/contacts_search.cpp @@ -47,7 +47,7 @@ int64_t ContactsSearch::Insert(std::shared_ptr rdbSto } /** - * @brief ContactsDataBase update by quick_search_key + * @brief Update contact data by quick_search_key * * @param rawContactId Parameters to be passed for update operation * @param type Parameters to be passed for update operation diff --git a/figures/Image_architecture_zh.png b/figures/Image_architecture_zh.png new file mode 100644 index 0000000..7e34ac7 Binary files /dev/null and b/figures/Image_architecture_zh.png differ