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地址图:这里写图片描述

  • 相关阅读:
    服务器搭建域控与SQL Server的AlwaysOn环境过程(二) 搭建客户端节点 服务器
    服务器搭建域控与SQL Server的AlwaysOn环境过程(一) 搭建域控服务器
    React中的AES加解密请求
    React项目构建(利用webpack打包)
    解决IIS服务器部署 字体图标找不到的原因
    iOS开发之视频播放31次、15次后错误,NSLocalizedFailureReason=此媒体所需的解码器正忙
    iOS开发之视频播放功能、边播放边缓存
    iOS开发之获取最上层 Window
    iOS开发之APP启动视频
    iOS开发之图片base64编码处理
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152245.html
Copyright © 2011-2022 走看看