内容提供器ContentProvider--现有的内容提供器

内容提供器ContentProvider 可以用来实现跨程序共享数据。

ContentProvider一般有两种:系统自带的(如电话簿、短信、媒体库等等)、自定义的

这里要讲的是现有(系统自带)的简单用法:

  • 首先获取ContentResolver对象:Context类中的ContentResolver  getContentResolver()方法

(ContentResolver提供了一系列的方法进行数据的增删改查(CRUD):inert()、update()、delete()、query())

①增:inert(uri, values)

参数一:uri,uri=Uri.parse("内容contentUri"),contentUri==content://程序包名.provider/表名

( uri好处就是可以区分哪个程序,而且,还具体哪个表)

参数二:待插入的数据,一般借助ContentValues对象(他有put(key, value)往自己添加数据)

②删:delete(uri, "selections", new String[]{第二个参数的值})

参数一:uri

参数二:selections,约束条件,用于指定操作哪些行,对应sql语句中的where 中的条件,如col1=? and col2>?

参数三:new String[]{第二个参数的值},就是按顺序对应第二个参数的占位符?的值

③改:update(uri, values, "selections", new String[]{第二个参数的值})

参数一:uri

参数二:新的数据,一般借助ContentValues对象(他有put(key, value)往自己添加数据)

参数三:selections,约束条件,用于指定操作哪些行,对应sql语句中的where 中的条件,如col1=? and col2>?

参数四:new String[]{第二个参数的值},就是按顺序对应第二个参数的占位符?的值

④查:Cursor query( uri, projection, "selections", new String[]{第二个参数的值})

参数一:uri,

参数二:指定查询的列,对应的是sql中selection 列1,列2.....

参数三:selections,约束条件,用于指定操作哪些行,对应sql语句中的where 中的条件,如col1=? and col2>?

参数四:new String[]{第二个参数的值},就是按顺序对应第二个参数的占位符?的值

返回值:Cursor对象(注意,操作完一定要记得调用close()方法关闭Cursor)

获取到了ContentResolver对象后就可以使用上面的4个方法进行增删改查,和sqliteDataBase差不多,区别就是uri

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值