/**
* 跨应用访问数据,Content provide,是Android四大组件之一
* 作用:暴露应用内的数据
* 注册在manifest.xml中,当应用启动时创建
* insert()增 update()改 delete()删 query()查
*
*
* ContentResolver 内容解析器
* 调用ContentProvider的增删改查
* getContentResolver()获得此对象
* insert()增 update()改 delete()删 query()查
*
* Content provide和ContentResolver通过Uri通讯
*
* Uri 一个资源的唯一标识
* 规范:
* content:// authority(Provider的完全限定名的小写形式)/表名/id
* content://由ContentProvide来管理
* authority 认证 ,ContentProvider的唯一标识
* path路径表名
* id 可以省略
* 1、创建helper类,继承SQLiteOpenHelper
* 2、自定义类,继承ContentProvider
* 重写方法:query(...);
* 创建helper对象-->getReadableDatabase()--->Cursor db.query(..)
* UriMatcher 匹配URI的容器
* addURI(authrity,path,code)
* int match(uri)
* 3、注册到manifest.xml中
*
* ----接受数据Resolver
* 1、getContentResolver()
* 2、resolve.query(...);----Uri
* 3、注册到manifest.xml中<queries><provider/></queries>
*
* ContentUris
* long parseId(Uri contentUri) 从uri中解析出id
* Uri withAppendedId(Uri contentUri,long id) 把id到uri中返回
*
*/
1、自定义helper类
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME="school.db";
public DBHelper(@Nullable Context context, int version) {
super(context, DB_NAME, null, version);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//创建表
String sql="create table stu(" +
"_id integer primary key autoincrement," +
"name text," +
"age integer" +

本文详细介绍了如何在Android中通过Content Provider实现数据共享,包括创建自定义helper类,自定义ContentProvider并重写查询、增加、删除和更新数据的方法,以及在manifest中注册Content Provider,最后讲解了如何通过ContentResolver接收和操作数据。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



