android实验12
【Android 实验12:简单写入联系人】 在Android平台上,管理设备上的联系人是一项基本功能,开发者可以通过Android提供的API来实现对联系人的增删改查操作。本实验主要探讨如何在Android应用中实现简单地写入联系人,即向用户手机的通讯录添加新的联系人信息。 一、Android权限配置 在AndroidManifest.xml文件中,你需要添加以下权限,因为写入联系人涉及到读写系统数据: ```xml <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> ``` 这两个权限允许应用读取和修改用户的联系人数据。 二、理解联系人Contract Android提供了`ContactsContract`类,它是用于访问和修改联系人数据的ContentProvider的接口。要写入联系人,我们需要使用`ContactsContract.RawContacts`表来创建新的联系人记录,并通过`ContactsContract.Data`表添加具体字段,如姓名、电话、电子邮件等。 三、创建联系人 1. 创建一个`ContentValues`对象,用于存储要插入的数据。例如: ```java ContentValues values = new ContentValues(); values.put(ContactsContract.RawContacts.ACCOUNT_TYPE, ""); values.put(ContactsContract.RawContacts.ACCOUNT_NAME, ""); values.put(ContactsContract.RawContacts.DISPLAY_NAME, "新联系人"); ``` 2. 使用`ContentResolver`的`insert()`方法,指定`ContactsContract.RawContacts.CONTENT_URI`作为目标,将`ContentValues`插入到数据库中,获取新创建的联系人ID: ```java ContentResolver resolver = getContentResolver(); Uri rawContactUri = resolver.insert(ContactsContract.RawContacts.CONTENT_URI, values); ``` 3. 添加联系人详情,如电话号码或电子邮件。同样使用`ContentValues`,但这次指向`ContactsContract.Data`表: ```java ContentValues detailValues = new ContentValues(); detailValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactUri.getLastPathSegment()); detailValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); detailValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "1234567890"); detailValues.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE); resolver.insert(ContactsContract.Data.CONTENT_URI, detailValues); ``` 4. 可以根据需要添加更多字段,例如电子邮件、地址等,只需改变`MIMETYPE`字段和对应的值。 四、运行与测试 这个实验的案例可能包含一个简单的Android应用程序,它提供一个界面让用户输入联系人信息,然后调用上述代码将信息写入到设备的联系人列表中。在实际开发中,你可能需要处理用户权限请求,确保在写入联系人之前已经获得了必要的权限。 五、S12_2_simpleReadContacts 在实验的第二个部分(S12_2_simpleReadContacts),可能涉及从设备中读取联系人信息。这通常包括查询`ContactsContract`提供的Uri,使用`ContentResolver`的`query()`方法,然后解析返回的`Cursor`对象,从中获取联系人及其详细信息。 通过学习和实践这个实验,你将能够熟练地在Android应用中处理联系人数据,为用户提供管理他们通讯录的功能。这个实验是Android开发中必不可少的一部分,因为良好的联系人管理能力是大多数应用的基础。
- 1
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MATLAB 图像处理:自动检测黑白像素比例的多功能代码(支持灰度和二值图像)
- windows平台下终端工具-tabby
- STM32和ucosii系统温度监控系统keil5工程
- HIVE-14706.01.patch
- C# WInForm IrisSkin2皮肤控件
- svn cleanup 失败怎么办
- Spring Boot集成Spring Security,HTTP请求授权配置:包含匿名访问、允许访问、禁止访问配置
- 易语言-画曲线模块及应用例程
- 电子元件行业知名厂商官网(TI/NXP/ST/Infineon/ADI/Microchip/Qualcomm/Diodes/Panasonic/TDK/TE/Vishay/Molex等)数据样例
- Cytoscape-3-10-0-windows-64bit.exe