码迷,mamicode.com
首页 > 移动开发 > 详细

赵雅智_android系统联系人app分析并获取数据

时间:2014-06-15 16:00:36      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:android   style   class   blog   code   java   

手机联系人存放位置

和短信一样在data-data下

bubuko.com,布布扣

手机联系人数据库解析

将contacts2.db表导出,通过SQLiteexpert查看
mimetypes表:存放的数据类型(电话,头像,姓名,邮箱)
bubuko.com,布布扣
外键:
bubuko.com,布布扣


raw_contacts表:存放联系人的id
bubuko.com,布布扣
contact_id:联系人id
display_name:联系人姓名

data表:存放联系人的数据
bubuko.com,布布扣
data1:联系人数据
data2:在mimetypes表中data1表示值得意义
mimetype_id:联系人ID,data数据所属的联系人
外键:
bubuko.com,布布扣
raw_contact_id:和raw_contacts表关联
mimetype_id:和mimetypes表关联

contact表
bubuko.com,布布扣
外键
bubuko.com,布布扣

获取联系人的信息:
  1. 查询raw_contact表,把联系人的id获取出来
  2. 根据联系人的id查询data表,把这个联系人的相应数据获取出来
  3. 查询mimetypes表,获取数据类型
插入一个联系人信息
  1. 首先插入raw_contact表写入一个新的联系人id
  2. 根据新创建的id 写入到data表 data1 mimetype

手机联系人源码解析

在android系统的联系人代码中,AndroidMenifest.xml定义了提供外接查询的接口
bubuko.com,布布扣
在android系统联系人中,定义了联系人有关的urimatcher
bubuko.com,布布扣


在android api中的ContactsContractData为我们提供了响应方法及简单用例:
添加方法
bubuko.com,布布扣

查询方法
bubuko.com,布布扣

删除更新方法
bubuko.com,布布扣bubuko.com,布布扣


步骤

得到内容解析器
查询数据
显示数据

主要代码

package com.example.android_readphone.provider;

import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.test.AndroidTestCase;

/**
 * 测试获取联系人
 * 
 * @author zhaoyazhi
 * 
 */
public class PhoneProviderTest extends AndroidTestCase {

	public void readContacts() {
		ContentResolver contentResolver = getContext().getContentResolver();
		Cursor c = contentResolver.query(
				ContactsContract.RawContacts.CONTENT_URI, new String[] { "_id",
						"display_name"  }, null, null, null);
		while (c.moveToNext()) {
			String id = c.getString(c
					.getColumnIndex(ContactsContract.RawContacts._ID));
			String name = c.getString(c.getColumnIndex("display_name"));
			System.out.println("序号id:" + id + "----------name:" + name
					 );
		}
		c.close();

	}
}


输出结果:
bubuko.com,布布扣


赵雅智_android系统联系人app分析并获取数据,布布扣,bubuko.com

赵雅智_android系统联系人app分析并获取数据

标签:android   style   class   blog   code   java   

原文地址:http://blog.csdn.net/zhaoyazhi2129/article/details/30367661

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!