给出这段代码:
ContentValues values = new ContentValues();
values.put(People.NAME, "contacts_" + i);
Uri uri = getContentResolver().insert(People.CONTENT_URI,values);
Uri numberUri = Uri.withAppendedPath(uri,People.Phones.CONTENT_DIRECTORY);
values.clear();
values.put(People.NUMBER, "" + i + p);
getContentResolver().insert(numberUri, values);
下面这段是2.1之后的插入联系人的代码片段:
public void insertContact(String name, String phone) {
System.out.println("name---------------->" + name);
ContentValues values = new ContentValues();
// insert a null value
Uri rawContactUri = getContentResolver().insert(
RawContacts.CONTENT_URI, values);
long rawContactsId = ContentUris.parseId(rawContactUri);
// 往刚才的空记录中插入姓名
values.clear();
values.put(StructuredName.RAW_CONTACT_ID, rawContactsId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.DISPLAY_NAME, name);
getContentResolver().insert(Data.CONTENT_URI, values);
// 插入电话
values.clear();
values.put(Phone.RAW_CONTACT_ID, rawContactsId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, phone);
getContentResolver().insert(Data.CONTENT_URI, values);
}
其实本人看这段代码都还有点头晕,怎么感觉就是没以前那么明了了,估计是功能增强了吧:)
最后在提醒下:
权限问题不能忘记:
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
分享到:
相关推荐
4. **插入联系人**: 使用ContentResolver的`insert()`方法,我们可以向`ContactsContract.Data`表插入数据。首先,创建一个ContentValues对象,设置对应的字段值,然后传入ContentResolver的`insert()`方法。对于...
Android 2.1(Eclair)版本的通讯录源码提供了一个深入理解Android系统如何处理联系人数据、显示联系人列表以及与用户交互的基础。下面将详细探讨这个源码中的关键知识点。 1. **SQLite数据库**: Android 2.1的...
11.3.2 通过联系人ID查询联系人的Email 258 11.3.3 按照过滤条件查询Email 259 11.3.4 查询联系人的电话 261 11.4 通过Content Provider访问通话记录 262 11.4.1 查询通话记录 262 11.4.2 按照过滤条件查询通话...
接着,实现数据访问逻辑,包括查询、插入、更新和删除联系人。最后,进行调试和性能优化,确保应用运行流畅,内存占用合理。 4.2 性能优化 为了提高应用性能,可以采用异步加载策略处理大量数据,避免阻塞主线程。...
2.5 第三方库集成:了解如何利用已有的内容提供者,如联系人、日历等,以及如何与其他应用的数据进行交互。 通过学习《Android应用开发揭秘》第11章和第12章的源码,开发者不仅可以加深对Android服务和内容提供者的...
- 在开始刷机前,你需要备份重要的个人数据,如联系人、短信、照片等,因为刷机会擦除所有现有数据。 2. **驱动安装**: - 第一次使用刷机工具时,需要安装对应的驱动程序。驱动是电脑与手机通信的桥梁,安装正确...
2.1 多窗口类浏览器需求分析 11 2.1.1 Activity简介 11 2.1.2 Fragment简介 11 2.1.3 多窗口类浏览器需求 12 2.2 多窗口浏览器模式的实现机制 12 2.2.1安卓移动端多窗口浏览器框架 12 2.1.2多窗口浏览器模式实现机制...
- `data`分区存储用户的个人数据,如应用程序数据、联系人、短信等。 - `cache`分区用于存储缓存文件,这些文件通常是暂时性的。 **6. 小结** 了解这些基本概念有助于更好地理解ROM定制的过程。 #### 第三章 寻找...
同时,华为C8650支持与云服务同步通讯录,即使更换设备,也能轻松保留和恢复联系人数据。 #### 3.3 数据备份与恢复 为了防止数据丢失,华为C8650提供了数据备份与恢复功能。用户可以定期备份重要数据到云端或外部...