手机联系人的读取和插入
来源:互联网 发布:淘宝商品质量有问题 编辑:程序博客网 时间:2024/05/25 18:12
手机联系人的读取
实现步骤
① 获取内容解析者
ContentResolver resolver = getContentResolver();
② 创建Uri
Uri raw_contacts = Uri.parse("content://com.android.contacts/raw_contacts");Uri data = Uri.parse("content://com.android.contacts/data");
③ 先查询raw_contents表中的content_id
Cursor cursor = resolver.query(raw_contacts, new String[]{"contact_id"}, null, null, null);
④ 遍历其中的内容
while (cursor.moveToNext()){ String id = cursor.getString(0); Contat contat = new Contat(); Log.e(TAG,id); Cursor cursor1 = resolver.query(data, new String[]{"data1", "mimetype"}, "raw_contact_id=?", new String[]{id}, null); while (cursor1.moveToNext()){ String data1 = cursor1.getString(0); String mimetype = cursor1.getString(1); Log.e(TAG,data1+"********"+mimetype); if ("vnd.android.cursor.item/name".equals(mimetype)){ contat.name = data1; }else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)){ contat.phone = data1; }else if ("vnd.android.cursor.item/email_v2".equals(mimetype)){ contat.email = data1; }else if ("vnd.android.cursor.item/postal-address_v2".equals(mimetype)){ contat.address = data1; } contats.add(contat); } }
⑤ 将存在集合中的内容便利出来
//所有内容都保存在了集合中 for(Contat contat:contats){ Log.e("contat",contat.toString()); }
注意:
在读取联系人的时候需要权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
手机联系人的插入
实现步骤
① 获取用户的输入
et_name = (EditText) findViewById(R.id.et_name);et_tel = (EditText) findViewById(R.id.et_tel);et_address = (EditText) findViewById(R.id.et_address);et_email = (EditText) findViewById(R.id.et_email); String address = et_address.getText().toString().trim(); String name = et_name.getText().toString().trim(); String tel = et_tel.getText().toString().trim(); String email = et_email.getText().toString().trim();
② 获取内容解析者
ContentResolver resolver = getContentResolver();
③ 创建查询raw_contacts表的uri
Uri raw_contacts = Uri.parse("content://com.android.contacts/raw_contacts"); Uri data = Uri.parse("content://com.android.contacts/data");
④ 获取已经存在的联系人个数 查询raw_contat表中有多少数据,并获取要插入的ID
Cursor cursor = resolver.query(raw_contacts, new String[]{"contact_id"}, null, null, null);int count = cursor.getCount() + 1;
⑤ 向raw_contact插入数据
ContentValues values = new ContentValues(); values.put("contact_id",count); resolver.insert(raw_contacts,values); //向data中插入数据raw_contat_id是一样的 ContentValues values1 = new ContentValues(); //插入地址数据 values1.put("raw_contact_id",count); values1.put("data1",address); values1.put("mimetype","vnd.android.cursor.item/postal-address_v2"); resolver.insert(data,values1); //插入姓名数据 values1.put("data1",name); values1.put("mimetype","vnd.android.cursor.item/name"); resolver.insert(data,values1); //插入电话数据 values1.put("data1",tel); values1.put("mimetype","vnd.android.cursor.item/phone_v2"); resolver.insert(data,values1); //插入邮箱数据 values1.put("data1",email); values1.put("mimetype","vnd.android.cursor.item/email_v2"); resolver.insert(data,values1);
注意:
读取和插入手机联系人信息,需要获取权限
<uses-permission android:name="android.permission.READ_CONTACTS"/><uses-permission android:name="android.permission.WRITE_CONTACTS"/>
0 0
- 手机联系人的读取和插入
- Android-ContentProvider读取和插入手机联系人
- 读取手机的联系人
- 对手机联系人的读取
- Android读取手机的联系人
- android中ContentProvider实现联系人的读取和插入
- 往手机插入联系人
- 分页读取手机联系人
- android 读取手机联系人
- 方便快捷读取手机联系人
- 读取手机联系人
- 读取手机联系人
- 读取手机联系人信息
- 读取手机联系人
- 360-读取手机联系人
- android读取手机联系人
- 读取手机联系人
- 读取手机联系人信息
- 算法学习笔记--狄克斯特拉算法
- PaxosLease:实现租约的无盘Paxos算法
- java中异常的使用及注意事项
- 常见设计模式的应用场景
- Python入门学习之operator--操作符函数
- 手机联系人的读取和插入
- Mac终端常用命令
- hdoj 5879 Cure
- 美团推荐算法实践
- 文章标题
- Pascal学习之路1——变量常量定义
- Ubuntu下QT安装
- LeetCode刷题(C++)——Letter Combinations of a Phone Number(Medium)
- 0420- 兄弟选择器