zoukankan      html  css  js  c++  java
  • 16 Content Provider总结

    第16天

    Content Provider

    一, 什么是Content Provider?

    内容提供者 Android四大主件之一 :短信记录 通讯录 联系人 自定义

    >Content Provider  所有程序间数据的存储和检索的桥梁 把各个程序里的数据共享 
    各个程序间  数据共享的唯一途径 (Android  没有提供一块独立的空间  将各个程序的数据共享  
    只能通过  内容提供者  共享数据)
    

    二, 作用

    将自己程序的私有数据 提供里一套对外的访问接口(增,删,改,查)
    是基于Uri向外提供数据访问接口

    使用:
    Content Provider 提供私有数据
    Uri:统一资源标识符  (路径)
    ContentResolver:内容解析器 
    

    三,URI 统一资源标识符
    格式:content://应用程序包名.provider/表名(一般情况)

    四, 访问Content Provider 提供的数据

    1,获取CntentResolver对象
    2,通过CntentResolver对象 增删改查

    五,联系人的数据库文件的位置
    /data/data/com.android.providers.contacts/databases.contacts2.db
    六,数据库中重要的几张表
    主要包含三张表,contacts,raw_contacts,data

    contacts表:contacts表中一条记录对应联系人列表中的一个联系人
    (通过可能包含多个联系人的信息),此表不可直接插入联系人。
    它是raw_contacts表记录的整合
    
    raw_contacts表:未经处理的联系人,当插入一个联系人时,
    系统会检测当前表中是否有存在相同号码、姓名的联系人,
    根据用户设置是否聚合,将可以整合的记录指向同一个contact_id
    
    data表:data表中的记录仅仅保存的是某一种类型的数据,
    里面有一个地段mimetype_id,
    用来关联mimetype表中的类型
    ,一个raw_contact一般会对应多条data记录
    

    Uri:
    // ContentResolver是通过uri来获取数据的,
    // 电话号有电话号的uri
    // 邮箱有邮箱的uri
    // data有data的uri
    // 这一系列uri是contentprovider自己定义的,我们只是调用
    private static String uri_rawcontacts = “content://com.android.contacts/raw_contacts”;
    private static String uri_contacts_phones = “content://com.android.contacts/data/phones”;
    private static String uri_contacts_emails = “content://com.android.contacts/data/emails”;
    private static String uri_contacts_data = “content://com.android.contacts/data”;

    类型:
    vnd.android.cursor.item/name
    vnd.android.cursor.item/phone_v2
    vnd.android.cursor.item/email_v2

    附上URi地址图:这里写图片描述

  • 相关阅读:
    C# 获取本地电脑所有的盘符
    C#winform程序安装在默认路径提示权限不足的问题
    BadImageFormatException异常处理
    未能找到元数据文件解决办法
    [转]DllImport属性详解
    九度oj1163题
    一致性哈希
    salt-stack部署
    查询系统支持的最大线程和进程数量
    Linux 单机测试 RS232 串口
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152245.html
Copyright © 2011-2022 走看看