內容提供者學習總結

2021-07-31 15:12:09 字數 1477 閱讀 2409

一.

內容提供者(content provider)四大基本元件之一,它的主要作用是在不同應用程式之間實現資料共享。說白了就是允許乙個應用程式訪問另一程式中的資料,它可以指定哪些可以被共享,這樣就保證了程式本身的安全。content provider 具有兩種用法:1.可以使用系統自帶的內容提供者進行操作,例如:**薄資訊等。

2.寫乙個類繼承內容提供者給程式中的資料提供外部訪問介面。

二.

例如 用uri來查詢names中的資料:

cursor cursor=getcontentresolver().query(uri,projection,selection,selectionargs,orderby);

具體的引數我在這就不解釋了有時間會專門寫一篇,其它的資料操作都類似。

三.

1.自定義內容提供器

public

class

mycontentprovider

extends

contentprovider

@override

public cursor query(uri uri, string projection, string selection, string selectionargs, string sortorder)

@override

public string gettype(uri uri)

@override

public uri insert(uri uri, contentvalues values)

@override

public

intdelete(uri uri, string selection, string selectionargs)

@override

public

intupdate(uri uri, contentvalues values, string selection, string selectionargs)

}

mime型別:

- 1.以vnd開頭。

- 2.如果內容uri以路徑結尾,則後接android.cursor.dir/,如果以id結尾,則接android.cursor.item/。

- 3.最後接上vnd..。

例如:vnd.android.cursor.dir/vnd.android.names

2.注意內容提供者一定要在androidmainfest.xml檔案中註冊才可以使用。

例如:

provider

android:name=".mycontentprovider"

android:enabled="true"

android:exported="true">

provider>

內容提供者總結

讀取系統簡訊,首先查詢原始碼獲得簡訊資料庫內容提供者的主機名和路徑,然後 contentresolver cr getcontentresolver cursor c cr.query uri.parse content sms new string,null,null,null while c.m...

內容提供者

public class personcontentprovider extends contentprovider override public boolean oncreate 作用 判斷 傳進來的 uri 查詢的是一條資料 還是多條資料 override public string gett...

內容提供者

package com.xh.tx.utils import android.content.context import android.database.sqlite.sqlitedatabase import android.database.sqlite.sqlitedatabase.cur...