ContentResolver 访问外部应用数据

作用

  • 通常用于封装外部访问应用数据的接口以及利用内容提供器对应用数据进行操作,包括数据的增删改查,实现跨程序数据共享。

基本用法

  • 利用uri对应用数据进行标识,用来标明需要使用哪个应用的数据,uri格式如下:

content://com.example.myapp.provider/table1

content:// 是协议声明,com.example.myapp.provider代表应用标识,table1为操作的表单

  • uri串不能直接使用,需要利用Uri.parse(uri),对其进行封装,封装后的uri对象才能直接使用
  • 查询应用数据
    • 调用context.getContentResolver获取ContentResolver对象,然后调用contentResolver的query方法即可获取应用数据,返回值为Cursor对象
      query方法接收5个参数,参数意义:
      1.uri 代表指定应用的某一张表,意义等同于from table,
      2.projection代表要查询的列名,等同于select column1
      3.selection 代表约束条件,等同于where column = a
      4.selectionArgs 代表selection默认值
      5.sortOrder 对结果进行排序 等同于 order by

Cursor cursor = context.getContentResolver.query(uri, projection, selection, selectArgs, sortOrder)

  • 插入数据
    • 使用ContentValues对象

ContentValues values = new ContentValues;
valuse.put("column1", "name");
contentResolver.insert(uri, values)

你可能感兴趣的:(ContentResolver 访问外部应用数据)