android内容提供器读取图片,Android 内容提供器(Content Provider)

1、基本概念

内容提供器的主要作用在于跨应用程序的数据共享,例如共享通讯录里的数据

android 6.0 引入了运行时权限功能,对于危险权限需要通过动态申请的方式获取,否则默认失败

内容提供器有两种:1、使用现有的内容提供器来获取别的程序中的数据;2、创建自己的内容提供器供别人访问

通过 ContentResolver 类来实现,其实例的 insert , update , delete , query 方法实现增删改查,方法参数为 内容URI

内容URI,由 authority 和 path 两部分组成,如 content:// com.example.app.provider/table,com.example.app.provider为authority,path为table

2、基本用法

1、创建一个 URI

Uri uri = Uri.parse("content:// com.example.app.provider/table")

2、获取 ContentResolver 实例

Cursor cursor = getContentResolver().query(

uri, // 对应 from table

projection, // 对应 select column1

selection, // 对应 where column=value

selectionArgs,

srotOrder // 对应 order by column

)

3、通过 cursor 获取具体内容

if(cursor!=null){

while(cursor.moveToNext()){

String column = cursor.getString(cursor.getColumnIndex("column"));

Int column2 = cursor.getInt(cursor.getColumnIndex("column2"))

}

cursor.close();

}

4、插入、修改、删除操作

// 1、插入

ContentValues values = new ContentValues();

values.put("column1","text");

values.put("column2",1);

getContentResolver().insert(uri,values)

// 2、修改

ContentValues values = new ContentValues();

values.put("column1","");

getContentResolver().update(uri,values,"column1 = ? and column2 = ?",new String[]{"text","1"})

// 3、删除

getContentResolver().delete(uri,"column2 = ?",new String[]{"1"});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值