contentprover(内容提供者)

1 什么是ContenProvder?
(1) ContenProvder是android四大组件之一,用来共享两个应用程序的内的数据,就是当你需要把你应用程序的东西分享给其他的应用程序的时候我们才会用到它,ContenProvder对外提供了其他应用可以直接访问的增删改查的方法。一旦使用ContenProvder让别人来访问自己的数据,不管应用程序是否打开都可以访问的到。

(2)每个ContenProvder都有一个公共的Uri,用于表示ContenProvder所提供的数据。
就好比是android内部的网站,地址是Uri。ContenProvder的Uri代表要操作的数据,由scheme,authorites,path三部分组成。
scheme:固定为content,也就是协议。
authorites:节点中的属性。
path:资源路径。可根据逻辑业务定义。

(3)发送请求必须要由ContenProvder发出,它相当于就是一个客户端。

2 如何创建ContenProvder?
定义一个类继承contentprovder重写里面的方法。配置清单文件

清单文件配置:

        <provider
            android:authorities="com.zking.android16_sqlite.data"
            android:name="com.zking.prvoide.MyPrvoider"
            android:exported="true">
        </provider>
代码:

public class MyPrvoider extends ContentProvider {

    private SQLiteDatabase sqLiteDatabase;

    @Override
    public boolean onCreate() {
        Log.i("test","+onCreate()" );
        DbHelper dbHelper=new DbHelper(getContext(),"G150831.db",null,2);
        sqLiteDatabase = dbHelper.getReadableDatabase();
        return false;
    }

    @Nullable
    @Override
    public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {
        Log.i("test","query" );
      return   sqLiteDatabase.query(true,"person",strings,s,strings1,null,null,s1,null);


    }

    @Nullable
    @Override
    public String getType(Uri uri) {
        return null;
    }

    @Nullable
    @Override
    public Uri insert(Uri uri, ContentValues contentValues) {
        return null;
    }

    @Override
    public int delete(Uri uri, String s, String[] strings) {
        return 0;
    }

    @Override
    public int update(Uri uri, ContentValues contentValues, String s, String[] strings) {
        return 0;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值