• Contentprovider的创建和使用流程概述


    首先在provider类中继承并实现provider的几个必要方法

       -- boolean onCreate(),用来执行一些初始化的工作。

       -- cursor query(Uri, String[], String, String[], String),用来返回数据给调用者。

       -- URI insert(Uri, ContentValues),用来插入新的数据。

      -- int update(Uri, ContentValues, String, String[]),用来更新已有的数据。

       --int delete(Uri, String, String[]),用来删除数据。

     -- string getType(Uri),用来返回数据的MIME类型

    在这些方法中,实现对具体数据库操作的封装

    在manifest中配置provider,最重要的是

     android:authorities属性,该属性定义了该provider的URI,用来让使用者对provider进行访问

    android:multiprocess="false 可以防止每个使用provider的进程都新建一个provider实例,造成资源开销过大

     

    在使用者中,先getContentResolver();得到一个contentresolver的实例

    使用该实例就可以调用指定URI的provider的增删改查方法了,例如

    Cursor mCursor = mcContentResolver.query(Uri.parse("content://com.example.aboutdata.myprovider"), string[] 查询字段,string 查询条件,string[] 查询条件参数,String 查询结果排序方式);

    content://com.example.aboutdata.myprovider就是一个android:authorities属性的值

    再使用得到的cursor就可以进行各种操作了

    -----人若无名,则可专心练剑
  • 相关阅读:
    kafka 学习资料
    kafka 的 docker 镜像使用
    SpringBoot 使用 Mybatis 注解进行一对多和多对多查询(不推荐使用注解方式)
    MYSQL 中的 int(11) 到底代表什么意思?
    MyBatis 学习资料
    什么是 CAP 理论?
    一致性哈希算法原理
    SELECT 语句语法
    MySQL中如何实现 select top n
    基于 debian:stretch-slim 系统镜像的 docker 镜像,安装 curl
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4302216.html
Copyright © 2020-2023  润新知