Android 2.2 通讯录操作实战代码分享

4星 · 超过85%的资源 需积分: 10 160 下载量 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数据访问机制的例子。