Android学习笔记---20_采用ContentProvider对外共享数据, UriMatcher类使用介绍 ,ContentUris类使用介绍,使用ContentResolver操作Conte

本文详细介绍了Android中如何使用ContentProvider对外共享数据,包括ContentProvider的注册、UriMatcher的使用、ContentUris的用法,以及如何通过ContentResolver操作ContentProvider中的数据进行添加、删除、更新和查询。此外,还讲解了数据变更的通知机制和测试ContentProvider的方法。
20_采用ContentProvider对外共享数据
------------------------------------------
1.比如通讯录,就是通过ContentProvider,实现的,通讯录就是要获得应用中的数据,可以把
  项目中的,xml,文本,数据库中的等,任意类型的数据进行共享;
-----------------------------------------------------------
2.文件的生成模式:readable,wirteable
--------------------------------------------------------------------
3.ContentProvider安卓的一个应用组件
 <provider android:name=".PersonProvider"//.表示当前的包下:
            android:authorities="com.credream.providers.personprovider"/>内容提供


者的唯一标识
------------------------------
4.当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其


他应用共享其数据。以前我们学习过文件的操作模式,通过指定文件的操作模式为


Context.MODE_WORLD_READABLE 或Context.MODE_WORLD_WRIT
使用ContentProviderContentResolver实现数据共享和CRUD操作,首先需要理解这两个组件在Android中的作用。ContentProvider是一个抽象,允许一个应用的ContentProvider与其他应用共享其私有数据,而ContentResolver则为其他应用提供了一组标准的接口来访问和操作这些数据。以下是具体的实现步骤和示例: 参考资源链接:[Android ContentProvider详解:数据跨应用共享](https://wenku.youkuaiyun.com/doc/2f975gokhh) 1. 创建自定义ContentProvider:你需要继承ContentProvider,并实现其方法,如query(), insert(), update(), delete(), getType()等,来定义如何处理不同型的请求。 2. 定义数据访问URI:为你的ContentProvider定义一个唯一的URI,用于标识你的数据。这通常是在AndroidManifest.xml中声明,并在ContentProvider中重写getUriForForegroundBindings()方法来返回。 3. 实现CRUD操作- 查询操作使用ContentResolver的query()方法,传入URI、需要的列、查询条件、参数以及排序方式等参数。 - 插入操作使用ContentResolver的insert()方法,传入URI和包含要插入数据ContentValues对象。 - 更新操作使用ContentResolver的update()方法,传入URI、包含更新信息的ContentValues对象、查询条件及参数。 - 删除操作使用ContentResolver的delete()方法,传入URI和查询条件参数。 4. 权限控制:在AndroidManifest.xml中声明ContentProvider时,可以使用android:readPermission和android:writePermission属性来控制读写权限。此外,ContentProvider中可以使用checkCallingPermission()方法来检查调用者的权限。 5. 进行安全机制设计:确保ContentProvider的设计是安全的,包括对敏感数据的加密、使用安全的数据型以及权限的合理设置。 通过以上步骤,你可以创建一个满足自己应用需求的ContentProvider,并通过ContentResolver与其他应用共享数据,同时执行CRUD操作。为了深入理解ContentProviderContentResolver的更多细节,以及如何处理实际开发中可能遇到的问题,建议阅读《Android ContentProvider详解:数据跨应用共享》这本书。它为你提供了从基础到高级的全面知识,帮助你构建安全、高效的数据共享机制。 参考资源链接:[Android ContentProvider详解:数据跨应用共享](https://wenku.youkuaiyun.com/doc/2f975gokhh)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

添柴程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值