国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ContentProvider(內(nèi)容提供者)與ContentResolver(內(nèi)容訪問者)

2019-11-11 02:03:04
字體:
供稿:網(wǎng)友

     今天突然想吃披薩,然后上網(wǎng)一搜,哦,附近有家必勝客,就在五一廣場那里,上面顯示是九點關(guān)門,那我現(xiàn)在去就能吃到。吃披薩的時候突然靈光一現(xiàn),對了,網(wǎng)站訪問流程不正是這個過程嗎,網(wǎng)站里的內(nèi)容正是我想吃的披薩,我要想吃還得知道它的地址,當然有沒有關(guān)門也是必須的,我得知道網(wǎng)站有沒有發(fā)布內(nèi)容呀

 <!--配置內(nèi)容提供者-->        <PRovider            android:authorities="com.Wwoo0.PERSON"            android:name="com.Wwoo0.MyContentProvider"            android:exported="true"            ></provider>

關(guān)于ContentProvider剛剛舉了一個小例子作為說明它的原理,其實也就是以上在清單文件中的三個配置名稱一個是網(wǎng)址,二是內(nèi)容,三是是否發(fā)布

接下來如何在數(shù)據(jù)庫中創(chuàng)建使用它呢,在這里分享下有關(guān)查詢方法 

         1.定義類繼承ContentProvider,根據(jù)需要重寫內(nèi)部方法

   

public class MyContentProvider extends ContentProvider {    private SQLiteDatabase db;    private UriMatcher uriMatcher;    @Override    public boolean onCreate() {        Log.i("test","onCreate");        DbUtil dbUtil = new DbUtil(getContext(), "person.db", null, 2);        db = dbUtil.getReadableDatabase();        //實例化URI匹配器        uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);        //添加規(guī)則        //01.查詢所有   content://com.zking.g150820_andorid16_sqlite.PERSON/student        uriMatcher.addURI("com.Wwoo0.PERSON","student",1);        //02.查詢單個   content://com.Wwoo0.PERSON/student/3        uriMatcher.addURI("com.zking.Wwoo0.PERSON","student/#",2);        return false;    }    @Nullable    @Override    public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {        //根據(jù)URI匹配器開始匹配Uri        int code=uriMatcher.match(uri);        switch (code) {            case 1:                //查詢所有            Log.i("test","query所有");            //獲取數(shù)據(jù)庫中所有的數(shù)據(jù)            return db.query(false,"student",strings,s,strings1,null,null,s1,null);            case 2:                //查詢單個                //獲取# 的值                long id=ContentUris.parseId(uri);            Log.i("test","query單個");            return db.rawQuery("select * from student where _id=?",new String[]{id+""});        }        return null;    }    @Nullable    @Override    public String getType(Uri uri) {        Log.i("test","getType");        return null;    }    @Nullable    @Override    public Uri insert(Uri uri, ContentValues contentValues) {        Log.i("test","insert");        return null;    }    @Override    public int delete(Uri uri, String s, String[] strings) {        Log.i("test","delete");        return 0;    }    @Override    public int update(Uri uri, ContentValues contentValues, String s, String[] strings) {        Log.i("test","update");        return 0;    }

        2.有發(fā)布者自然有訪問者,根據(jù)網(wǎng)址進入查詢(查詢所有或單個查詢)

public class ContentResolver extends AppCompatActivity {    private ContentResolver cr;    private EditText et_contentresolver_id;    private Uri uri;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_contentresolver);        //獲取內(nèi)容訪問者        cr = getContentResolver();        et_contentresolver_id = (EditText) findViewById(R.id.et_contentresolver_id);    }    public void getData(View view){        //判斷輸入框的值是否為空        if(TextUtils.isEmpty(et_contentresolver_id.getText().toString())){            //查詢所有            uri = Uri.parse("content://com.Wwoo0.PERSON/student");        }else{            //查詢單個            //01.直接query傳參            //02.類似web  http://localhost:8080/webProject/xxx.action?id=3            //03.Uri匹配器            String id=et_contentresolver_id.getText().toString();            uri = Uri.parse("content://com.Wwoo0.PERSON/student/"+id);        }        Cursor cursor=cr.query(uri,null,null,null,null);        //SimleCursorAdapter        while (cursor.moveToNext()){            int id=cursor.getInt(cursor.getColumnIndex("_id"));            String name=cursor.getString(cursor.getColumnIndex("name"));            int age=cursor.getInt(cursor.getColumnIndex("age"));            Log.i("test",id+" "+name+" "+age);        }    }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 余姚市| 葵青区| 江阴市| 高州市| 澄迈县| 西峡县| 安多县| 沙雅县| 昌乐县| 牡丹江市| 铜川市| 监利县| 巴楚县| 墨脱县| 康马县| 通榆县| 泰州市| 永靖县| 长宁县| 漳州市| 上思县| 晋州市| 阿克苏市| 资阳市| 如皋市| 镇雄县| 河津市| 泌阳县| 静宁县| 新营市| 句容市| 滦南县| 敦化市| 柘荣县| 澳门| 隆子县| 北安市| 徐水县| 凤冈县| 东安县| 永清县|