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就可以进行各种操作了

u3coding
A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*