Android之ContentProvider(内容的提供者)与ContentResolver(内容访问者)
程序员文章站
2024-02-11 14:01:58
...
内容的提供者(ContentProvider)
1.作用:
暴露本应用的私有数据,供其他应用使用。通过继承ContentProvider。
暴露本应用的私有数据,供其他应用使用。通过继承ContentProvider。
有选择地暴露插入、删除、修改和查询本应用数据的接口。
2.使用:
继承ContentProvider抽象类,并选择性地增删改查方法
继承ContentProvider抽象类,并选择性地增删改查方法
需要在清单文件中配置
authorities为包名
name为继承ContentProvider的那个类
authorities为包名
name为继承ContentProvider的那个类
<!--配置内容提供者-->
<provider
android:authorities="com.zking.administrator.g160618_android16_sqlite.LOGIN"
android:name=".MyProvider"
android:exported="true"
></provider>
内容访问者(ContentResolver)
1. 作用
访问内容提供者,并解析返回的数据
访问内容提供者,并解析返回的数据
2. 使用
通过上下文对象获取内容解析者
通过上下文对象获取内容解析者
ContentResolver resolver = this.getContentResolver();
下面举一个实例,只在调用,操作时打印结果。
新建一个Moudle:
新建一个db连接数据库的包DBHelper
在activity_main.xml中这样写
然后在与xml相对应的java代码中MainActivity添加数据到数据库中
新建java MyProvider文件把内容提供出去
最后在xml里面对内容提供者进行配置,加上这样一句代码
<!--配置内容提供者-->
<provider
android:authorities="com.zking.administrator.g160618_android16_sqlite.LOGIN"
android:name=".MyProvider"
android:exported="true"
></provider>
上一篇: 解决字段名与实体类属性名不相同的冲突
下一篇: 如何把应用跑在android上