ContentProvider让APP使用自己的数…

ContentProvider就是一个内容提供者,向一个Activity一样,需要在Manifest中声明,声明之后就可以用ContentResolver通过被定义好的Uri来访问。
注意,在代码中:
1、必须声明此ContentProvider的唯一标识符AUTHORITY
2、定义静态变量CODE,标识被访问的数据库中的资源(表)
3、添加Uri,算是提供给用户的访问接口,用户就通过Uri来访问ContentProvider
在Manifest中:
1、需要声明provider
2、需要指定唯一标识AUTHORITY
3、需要声明被访问的权限,并在application标签上声明
4、android:exported="true",允许被外部访问


//声明MyContentProvider的唯一标识符
public static final String AUTHORITY= "com.fqianfeng.day26_test_contentprovider.mytest";
//声明数据库的资源(表)定义CODE标识
public static final int CODE_NEWS =0x1;
private static UriMatcheruriMatcher;
static{
uriMatcher = newUriMatcher(UriMatcher.NO_MATCH);
//生成Uri:content://com.fqianfeng.day26_test_contentprovidercontentpr ovider.mytest/tb_news
uriMatcher.addURI(AUTHORITY,"tb_news", CODE_NEWS);
}

之后再写自己的方法,加载数据到数据库

manifest.xml中的部分代码:
<!-- 声明访问该组件的权限 -->
<permission android:name="com.fqianfeng.day25_contentprovider.contentprovider.READ_WRITE" />
    
<!-- 使用该组件的权限 -->
<uses-permission android:name="com.fqianfeng.day25_contentprovider.contentprovider.READ_WRITE"/>

     
<!-- 注册ContentProvider组件
        android:authorities:声明该组件的唯一标识
        android:permission:声明该组件的权限
        android:exported="true":声明该组件可以被外界应用访问
         -->
        <provider 
            android:name="com.fqianfeng.day25_contentprovider.contentprovider.UserContentProvider"
            android:authorities="com.fqianfeng.day25_contentprovider.users"
            android:permission="com.fqianfeng.day25_contentprovider.contentprovider.READ_WRITE"
            android:exported="true"
            />
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值