• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 联系人
2
3### 介绍
4
5本示例使用[@ohos.contact](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/reference/apis-contacts-kit/js-apis-contact.md)
6接口,实现了对联系人的增删查改功能。
7
8### 效果预览
9
10|首页|详情页|新建联系人|
11|-----|-----|-----|
12|![](screenshots/device/main.png) |![](screenshots/device/details.png)|![](screenshots/device/add.png)|
13
14使用说明
15
161.点击 **+** 按钮,跳转添加联系人界面,输入联系人信息,点击 **√**,确认添加联系人,并返回首页;
17
182.点击联系人列表跳转页面查看详细信息,并且可以编辑或删除联系人信息;
19
203.在搜索栏输入号码或邮箱可查询对应的联系人。
21
22### 工程目录
23```
24entry/src/main/ets/
25|---component
26|   |---Contact.ets                       // 联系人页面
27|   |---ContactInfo.ets                   // 联系人详情页主体内容
28|   |---Home.ets                          // 主页主体内容
29|   |---ItemContainer.ets                 // 联系人列表
30|   |---NewContact.ets                    // 新建联系人页面主体内容
31|   |---UpdateContact.ets
32|---data                                  // 日志文件
33|---entryability
34|   |---EntryAbility.ets                  // 应用入口,在这里请求相关权限
35|---pages
36|   |---AddContact.ets                    // 新建联系人页面
37|   |---EditContact.ets                   // 编辑联系人
38|   |---Index.ets                         // 主页
39|   |---NameCard.ets                      // 联系人详情页
40|   |---Setting.ets                       // 设置页面
41```
42
43### 具体实现
44* 本示例的主要逻辑功能和源码在下列相关类中:
45  * 查询所有联系人:在[Contact.ets](entry/src/main/ets/component/Contact.ets)
46    页面调用contact.queryContacts()查询所有的联系人;
47  * 新建联系人:在[AddContact.ets](entry/src/main/ets/pages/AddContact.ets)
48    页面检验数据格式后通过contact.addContact()创建新的联系人;
49  * 搜索联系人:在[Contact.ets](entry/src/main/ets/component/Contact.ets)
50    页面调用contact.queryContactsByPhoneNumber()通过电话号码查询联系人或者调用contact.queryContactsByEmail()通过邮箱查询联系人;
51  * 删除联系人:在[ContactInfo.ets](entry/src/main/ets/component/ContactInfo.ets)
52    调用contact.deleteContact()删除指定的联系人;
53  * 修改联系人:在[EditContact.ets](entry/src/main/ets/pages/EditContact.ets)
54    页面调用contact.updateContact()。
55
56### 相关权限
57
58[ohos.permission.READ_CONTACTS](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionread_contacts)
59
60[ohos.permission.WRITE_CONTACTS](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionwrite_contacts)
61
62### 依赖
63
64不涉及。
65
66### 约束与限制
67
681. 本示例仅支持标准系统上运行,支持设备:RK3568。
69
702. 本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行。
71
723. 本示例已适配API version 9版本SDK,版本号:3.2.11.9。
73
744. 本示例涉及[ohos.permission.READ_CONTACTS](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionread_contacts)、[ohos.permission.WRITE_CONTACTS](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionwrite_contacts) 为system_basic级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md))查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md)75
76### 下载
77
78如需单独下载本工程,执行如下命令:
79
80```
81git init
82git config core.sparsecheckout true
83echo code/BasicFeature/Telephony/Contact/ > .git/info/sparse-checkout
84git remote add origin https://gitee.com/openharmony/applications_app_samples.git
85git pull origin master
86```