Android 2.2 通讯录操作实战代码分享
4星 · 超过85%的资源 需积分: 10 144 浏览量
更新于2024-09-22
5
收藏 21KB TXT 举报
"该资源是关于在Android 2.2平台上进行通讯录操作的源代码,适用于学习和实践。"
在Android系统中,对通讯录的操作通常涉及到ContentProvider、ContentResolver以及ContactsContract类,这些都是Android提供的重要API,用于访问和管理用户的数据,包括联系人信息。以下将详细解释这些知识点:
1. **Activity**: `TestContacts` 类继承自 `Activity`,它是Android应用的基本组件,负责处理用户界面和交互。在 `onCreate()` 方法中,我们看到调用了 `setContentView()` 来加载布局文件(R.layout.main),并设置了标题(R.string.ReadContact)。
2. **ContentResolver**: 在第3行导入,`ContentResolver` 是一个接口,它允许应用程序与ContentProvider进行通信,从而获取或修改存储在Android系统中的数据,如联系人、日历等。在实际操作中,我们会用到它的 `query()` 方法来查询联系人信息。
3. **Intent**: 虽然这部分代码没有直接使用 `Intent`,但在Android中,`Intent` 用于启动其他组件,比如启动一个新的Activity或BroadcastReceiver,也可以用来在组件间传递数据。
4. **Cursor**: 第5行导入,`Cursor` 是一个数据库查询结果的游标,通常在从ContentProvider查询数据后返回。它提供了遍历和访问数据的方法,如 `moveToFirst()`, `getColumnIndex()`, `getString()` 等。
5. **ContactsContract**: 在第7行导入,这是Android提供的一个类,定义了访问联系人数据的常量和接口。它包括了多个子类,如 `ContactsContract.Contacts`, `ContactsContract.CommonDataKinds.Phone` 等,用于获取不同类型的联系人信息,如姓名、电话号码等。
6. **RawContacts**: 在第9行导入,`RawContacts` 是 `ContactsContract` 的一个子类,它代表了联系人数据的原始条目,不包含合并的信息。通过 `RawContacts`,我们可以获取联系人的详细信息,如同步账号等。
7. **Menu** 和 **MenuItem**: 在 `onCreateOptionsMenu()` 方法中,我们看到了菜单的相关操作。Android应用可以创建选项菜单,让用户在界面上触发特定功能。`MenuInflater` 用于解析XML菜单资源并填充到 `Menu` 对象,而 `MenuItem` 代表菜单项,可以通过它实现点击事件。
8. **TextView**: 在第15行声明,`TextView` 是Android UI框架中的一个视图组件,用于显示文本信息。在本例中,可能用于显示查询到的联系人信息。
9. **Source Code Practice**: 该代码示例可能包含了选择联系人并展示其信息的功能。在实际应用中,可能需要通过 `Intent` 启动系统联系人选择器,然后在 `onActivityResult()` 方法中处理返回的选中联系人信息,通过 `ContentResolver` 查询,并将结果展示在 `TextView` 中。
这段代码主要展示了如何在Android 2.2版本中使用ContentResolver和ContactsContract API来操作通讯录,以及如何构建一个简单的UI来展示查询结果。对于初学者,这是一个很好的练习和理解Android数据访问机制的例子。
2014-03-24 上传
189 浏览量
2008-09-03 上传
2010-04-06 上传
621 浏览量
179 浏览量
2021-09-25 上传
2017-02-28 上传
ptclin_2006
- 粉丝: 0
- 资源: 8
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍