ContentProvider内容提供者

来源:互联网 发布:光电转换器淘宝网 编辑:程序博客网 时间:2024/06/05 17:57
public class ContentPriver extends ContentProvider{    private static final String AUTHORITY = "com.example.dell_pc.day10_19_contentprovider.student.db";    private static final int USER_CODE = 6;//定义数据库对应的编码    private static UriMatcher uriMatcher;    {        uriMatcher = new UriMatcher(uriMatcher.NO_MATCH);        uriMatcher.addURI(AUTHORITY,"user",USER_CODE);    }    private SQLiteHopen myOpenHelper;    SQLiteDatabase db;    //在创建时被调用    @Override    public boolean onCreate() {        myOpenHelper = new SQLiteHopen(getContext());        db = myOpenHelper.getWritableDatabase();        return false;    }    @Nullable    @Override//根据Uri查询出selction指定的条件所匹配的全部记录,并且可以指定查询哪些列以什么样的方式order()排序    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {        Cursor cursor = db.query("student",projection,selection,selectionArgs,null,null,sortOrder,null);        return cursor;    }    @Nullable    @Override//返回当前Uri的MiME类型,如果该URI对应的数据可能包括对跳记录    //那么这个MIME类型字符串 就是以vnd.android.dir/开头//    如果该URI对应的数据只有一条记录该MIME类型字符串 就是以vnd.android.cursor.item开头    public String getType(Uri uri) {        return null;    }    //根据Uri插入Values对应的数据    @Nullable    @Override//uri:内容提供者的主机名    public Uri insert(Uri uri, ContentValues values) {        db.insert("student",null,values);        return uri;    }    ////根据Uri删除selection指定的调价所匹配的全部记录    @Override    public int delete(Uri uri, String selection, String[] selectionArgs) {        int i = db.delete("student",selection,selectionArgs);        return i;    }    @Override//根据Uri修改selection指定的条件所匹配的全部记录    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {        int i = db.update("student",values,selection,selectionArgs);        return i;    }}