基础知识:四、 ContentProvider
2016-05-13 12:53
441 查看
四、 ContentProvider
1、请介绍下ContentProvider是如何实现数据共享的
在Android 中如果想将自己应用的数据(一般多为数据库中的数据)提供给第三发应用,那么我们只能通过ContentProvider来实现了。
ContentProvider 是应用程序之间共享数据的接口。使用的时候首先自定义一个类继承ContentProvider,然后覆写 query、insert、update、delete等方法。
因为其是四大组件之一因此必须在AndroidManifest文件中进行注册。
把自己的数据通过uri的形式共享出去 android 系统下 不同程序 数据默认是不能共享访问 需要去实现一个类去继承ContentProvider public class PersonContentProvider extends ContentProvider{ public boolean onCreate(){
} query(Uri, String[], String, String[], String) insert(Uri, ContentValues) update(Uri, ContentValues, String, String[]) delete(Uri, String, String[]) }
<provider android:exported="true" android:name="com.itheima.contenProvider.provider.PersonContentPro vider"android:authorities="com.itheima.person" />
第三方可以通过ContentResolver来访问该Provider。
2、请介绍下Android的数据存储方式
a. File存储
b. SharedPreference存储
c. ContentProvider存储
d. SQLiteDataBase存储
e. 网络存储
3、为什么要用ContentProvider?它和sql的实现上有什么差别?
ContentProvider屏蔽了数据存储的细节,内部实现对用户完全透明,用户只需要关心操作数据的uri就可以了,ContentProvider可以实现不同app之间共享。
Sql也有增删改查的方法,但是sql只能查询本应用下的数据库。而ContentProvider 还可
以去增删改查本地文件. xml文件的读取等。
4、说说 ContentProvider、ContentResolver、ContentObserver 之间的 关系
a. ContentProvider 内容提供者,用于对外提供数据
b. ContentResolver.notifyChange(uri)发出消息
c. ContentResolver 内容解析者,用于获取内容提供者提供的数据
d. ContentObserver 内容监听器,可以监听数据的改变状态
e. ContentResolver.registerContentObserver()监听消息。
1、请介绍下ContentProvider是如何实现数据共享的
在Android 中如果想将自己应用的数据(一般多为数据库中的数据)提供给第三发应用,那么我们只能通过ContentProvider来实现了。
ContentProvider 是应用程序之间共享数据的接口。使用的时候首先自定义一个类继承ContentProvider,然后覆写 query、insert、update、delete等方法。
因为其是四大组件之一因此必须在AndroidManifest文件中进行注册。
把自己的数据通过uri的形式共享出去 android 系统下 不同程序 数据默认是不能共享访问 需要去实现一个类去继承ContentProvider public class PersonContentProvider extends ContentProvider{ public boolean onCreate(){
} query(Uri, String[], String, String[], String) insert(Uri, ContentValues) update(Uri, ContentValues, String, String[]) delete(Uri, String, String[]) }
<provider android:exported="true" android:name="com.itheima.contenProvider.provider.PersonContentPro vider"android:authorities="com.itheima.person" />
第三方可以通过ContentResolver来访问该Provider。
2、请介绍下Android的数据存储方式
a. File存储
b. SharedPreference存储
c. ContentProvider存储
d. SQLiteDataBase存储
e. 网络存储
3、为什么要用ContentProvider?它和sql的实现上有什么差别?
ContentProvider屏蔽了数据存储的细节,内部实现对用户完全透明,用户只需要关心操作数据的uri就可以了,ContentProvider可以实现不同app之间共享。
Sql也有增删改查的方法,但是sql只能查询本应用下的数据库。而ContentProvider 还可
以去增删改查本地文件. xml文件的读取等。
4、说说 ContentProvider、ContentResolver、ContentObserver 之间的 关系
a. ContentProvider 内容提供者,用于对外提供数据
b. ContentResolver.notifyChange(uri)发出消息
c. ContentResolver 内容解析者,用于获取内容提供者提供的数据
d. ContentObserver 内容监听器,可以监听数据的改变状态
e. ContentResolver.registerContentObserver()监听消息。
相关文章推荐
- aop.php
- 记录一下xcache导致的php-fpm 502问题
- php与Ajax(四)—xml与json数据格式
- ftp如何预览图片 解决方案
- PHP生成可点击刷新的验证码简单示例
- PHP 基础函数(三)数组和变量之间的转换
- 关于PHP文件的自动运行方法分析
- [入门]PHP开发环境之windows篇
- php的函数参数按照从左到右来赋值
- Tinkphp
- XAMPP升级PHP
- PHP中array_chunk()函数
- php的格式化数字函数
- itextPdf不要随便把下载文件等建立在c盘根目录下。可以建立在桌面下
- SSH连接报错ecdsa-sha2-nistp256
- PHP函数的实现原理及性能分析
- PHP问题 —— The use statement with non-compound name
- PHP问题 —— The use statement with non-compound name
- PHP问题 —— 丢失SESSION
- PHP问题 —— 丢失SESSION