一.联系人和通话记录: 数据库文件/data/data/com.android.providers.contacts/databases/contacts2.db
  通话记录的数据存在calls表中; 联系人数据存放在raw_contacts和data表里,两个表构成主从表关系.
  
    1.联系人(contacts2.db)
     每个联系人在raw_contacts表里有一条记录,但地址\名称\email\电话等等数据存放在data表中.
     (1)mimetypes表
      _id mimetype
      1 vnd.android.cursor.item/email_v2
      2 vnd.android.cursor.item/im
      3 vnd.android.cursor.item/nickname
      4 vnd.android.cursor.item/organization
      5 vnd.android.cursor.item/phone_v2
      6 vnd.android.cursor.item/sip_address
      7 vnd.android.cursor.item/name
      8 vnd.android.cursor.item/postal-address_v2
      9 vnd.android.cursor.item/identity
      10 vnd.android.cursor.item/photo
      11 vnd.android.cursor.item/group_membership
      12 vnd.android.cursor.item/website
      13 vnd.android.cursor.item/note
     
     (2)data表
      字段列表:_id package_id mimetype_id raw_contact_id is_read_only is_primary is_super_primary data_version data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 data11 data12 data13 data14 data15 data_sync1 data_sync2 data_sync3 data_sync4
      raw_contact_id:此值对应raw_contacts表的_id值.data表中每个联系人会有多行数据,同一个联系人而言,此值是相同的.
      mimetype_id:对应mimetypes表的类型.由mimetypes表可知,data表中的数据,如果mimetype_id值为7表示存的是姓名,5表示存的是号码.
      其它信息需要根据mimetype_id指示的类型具体分析
      姓名数据:Uri(content://com.android.contacts/data)
      Uri对应的宏为:android.provider.ContactsContract.Data.CONTENT_URI
       data1字段: 姓名完整名称
       data2字段: 名GIVEN_NAME
       data3字段: 姓FAMILY_NAME
       data4字段: 姓名前缀PREFIX
       data5字段: 中间名MID_NAME
       data6字段: 姓名后缀SUFIX
       data7字段: 名字拼音SUFIX_PINYIN
       data8字段: 中间名拼音MID_PINYIN
       data9字段: 姓氏拼音FAMILY_NAME_PINYIN
      电话数据:Uri(content://com.android.contacts/data/phones)
      Uri对应的宏为:android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI
       data1字段: 完整的电话号码
       data2字段: 电话类型
       电话类型信息如下
        TYPE_CUSTOM = 0;
        TYPE_HOME = 1;
        TYPE_MOBILE = 2;
        TYPE_WORK = 3;
        TYPE_FAX_WORK = 4;
        TYPE_FAX_HOME = 5;
        TYPE_PAGER = 6;
        TYPE_OTHER = 7;
      Email数据:Uri(content://com.android.contacts/data/emails)
      Uri对应的宏为:android.provider.ContactsContract.CommonDataKinds.Email.CONTENT_URI
       data1字段: 邮箱地址
       data2字段: Email类型
        Email类型信息如下
        TYPE_CUSTOM = 0;
        TYPE_HOME = 1;
        TYPE_WORK = 2;
        TYPE_OTHER = 3;
        TYPE_MOBILE = 4;
      地址数据:Uri(content://com.android.contacts/data/postals)
       data2字段: 地址类型
       data4字段: 街道
       data7字段: 州
       data8字段: 城市
       data9字段: 邮政编码
       地址类型信息如下
        TYPE_CUSTOM = 0;
        TYPE_HOME = 1;
        TYPE_WORK = 2;
        TYPE_OTHER = 3; 
     
     (3)raw_contacts表
      _id字段:每行表示一个联系人,与data表raw_contact_id字段对应.
      sort_key字段:表示了姓名排序的信息.中文有对应的拼音.可能显示的数据格式为:LI 李 CUN 村

2.通话记录(contacts2.db)
     Uri(content://call_log/calls) 对应的宏为:android.provider.CallLog.Calls.CONTENT_URI
     name字段: 联系人姓名 CallLog.Calls.CACHED_NAME
     number字段:电话号码 CallLog.Calls.NUMBER
     date字段: 日期 CallLog.Calls.DATE
     type字段: 类型 CallLog.Calls.TYPE
     duration字段: 通话时长 CallLog.Calls.DURATION

Android数据库资料的更多相关文章

  1. 10分钟理解Android数据库的创建与使用(附具体解释和演示样例代码)

    1.Android数据库简单介绍. Android系统的framework层集成了Sqlite3数据库.我们知道Sqlite3是一种轻量级的高效存储的数据库. Sqlite数据库具有以下长处: (1) ...

  2. 深入解析Sqlite的完美替代者,android数据库新王者——Realm

    写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...

  3. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

    reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...

  4. Android 数据库框架OrmLite的使用(一)

    在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...

  5. Android数据库升级

    随着Android应用版本的迭代,经常遇到数据库表结构发生改变,或者一些指定的表数据需要更新.这也就引出一个问题Android数据库的更新问题. Android数据库升级分类 Android数据库更新 ...

  6. [转]Android 学习资料分享(2015 版)

    转 Android 学习资料分享(2015 版) 原文地址:http://www.jianshu.com/p/874ff12a4c01 目录[-] 我是如何自学Android,资料分享(2015 版) ...

  7. 优雅的处理Android数据库升级的问题

    原始完成于:2015-04-27 19:28:22 提供一种思路,优雅的处理Android数据库升级的问题,直接上代码: 1 package com.example.databaseissuetest ...

  8. 【Android开发资料分享】自己整理的Android开发资料,非常全面

    学习Android以来,不知不觉中收集了大量非常优秀的Android开发资料,一直没有系统的整理,最近抽时间把收藏夹中的资料做了一下整理,现在分享给大家,希望能够帮助到需要的人.这份资料我还会不断的更 ...

  9. 我是如何自学Android,资料分享(2015 版)

    自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的——&l ...

随机推荐

  1. [Clr via C#读书笔记]Cp16数组

    Cp16数组 一维数组,多维数组,交错数组:引用类型:P338的图非常的清楚地描述了值类型和引用类型在托管堆中的关系:越界检查: 数组初始化 数组初始化器: 四种写法 string[] names = ...

  2. 机器学习实战笔记一:K-近邻算法在约会网站上的应用

    K-近邻算法概述 简单的说,K-近邻算法采用不同特征值之间的距离方法进行分类 K-近邻算法 优点:精度高.对异常值不敏感.无数据输入假定. 缺点:计算复杂度高.空间复杂度高. 适用范围:数值型和标称型 ...

  3. Python3 小工具-MAC泛洪

    from scapy.all import * import optparse def attack(interface): pkt=Ether(src=RandMAC(),dst=RandMAC() ...

  4. Struts2文件上传带进度条,虽然不是很完美

    好久没有写东西,最近在做个项目,要用到文件h 传的,以前虽然也做上传,但是总觉得不好用 ,现在和队友合作做了一个带进度条的上传,觉得还行~~和大家分享一下. 首先说一下大概是这样实现的,在我们平时的上 ...

  5. html5 canvas绘制环形进度条,环形渐变色仪表图

    html5 canvas绘制环形进度条,环形渐变色仪表图                                             在绘制圆环前,我们需要知道canvas arc() 方 ...

  6. 大型网站架构演化(八)——使用NoSQL和搜索引擎

    随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎,如图. NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分 ...

  7. nuget程序包还原失败:未能解析此远程名称

    一个简便的方法就是取消下载缺少的程序包. 步骤如下: 1,工具--NuGet程序包管理器--程序包管理器设置 2,NuGet Package Manager--常规,取消勾选.

  8. 【alpha】Scrum站立会议第1次····10.16

    小组名称:nice! 小组成员:李权 于淼 杨柳 刘芳芳 项目内容:约跑app 1.任务进度 成员 已完成 当日要完成 李权 搭建好Android Studio环境 数据库设计 于淼 搭建好Andro ...

  9. HDU 2115 I Love This Game

    http://acm.hdu.edu.cn/showproblem.php?pid=2115 Problem Description Do you like playing basketball ? ...

  10. HASH表的实现(拉链法)

    本文的一些基本概念参考了一部分百度百科,当然只保留了最有价值的部分,代码部分完全是自己实现! 简介 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据 ...