内容提供器(七)

       内容提供器
1.内容提供器(Content Provider):
 主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,
 允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性.

2.使用:
 1.获取ContentResolv实例 : 可以通过 Context 中的 getContentResolver()方法获取到该类的实例
 2. insert()方法用于添加数据,update()方法用于更新数据,delete()方法用于删除数据,query()方法用于查询数据
 3.URI格式:Uri uri = Uri.parse("content://com.example.app.provider/table1") //指定查询某个应用程序下的某一张表
 4.记得关流

3.自定义内容提供器
 1.新建一个类继承ContentProvider
  1.  onCreate()
   初始化内容提供器的时候调用。通常会在这里完成对数据库的创建和升级等操作,
   返回 true 表示内容提供器初始化成功,返回 false 则表示失败。注意,只有当存在
   ContentResolver 尝试访问我们程序中的数据时,内容提供器才会被初始化。
  2.  query()
   从内容提供器中查询数据。使用 uri 参数来确定查询哪张表,projection参数用于确
   定查询哪些列,selection和 selectionArgs参数用于约束查询哪些行,sortOrder 参数用于
   对结果进行排序,查询的结果存放在 Cursor 对象中返回。
  3.  insert()
   向内容提供器中添加一条数据。使用 uri 参数来确定要添加到的表,待添加的数据
   保存在 values 参数中。添加完成后,返回一个用于表示这条新记录的 URI。
  4.  update()
   更新内容提供器中已有的数据。使用 uri 参数来确定更新哪一张表中的数据,新数
   据保存在 values 参数中,selection 和 selectionArgs 参数用于约束更新哪些行,受影响的
   行数将作为返回值返回。
  5.  delete()
   从内容提供器中删除数据。使用 uri 参数来确定删除哪一张表中的数据,selection
   和 selectionArgs参数用于约束删除哪些行,被删除的行数将作为返回值返回。
  6.  getType()
   根据传入的内容 URI来返回相应的 MIME类型。
 2.在匹配URI时,采用UriMatcher类来帮忙
 3.getType() MIME类型格式:
  1.  必须以 vnd 开头。
  2.  如果内容 URI 以路径结尾,则后接 android.cursor.dir/,如果内容 URI 以 id 结尾,则后接 android.cursor.item/。
  3.  最后接上 vnd.<authority>.<path>。
  4. 比如:vnd.android.cursor.dir/vnd.com.example.app.provider.table1

转载于:https://my.oschina.net/u/1995545/blog/393467

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值