安卓 內容提供者

2021-09-22 20:17:00 字數 2021 閱讀 4499

1.contentprovider內容提供者(四大元件之一)主要用於在不同的應用程式之間實現資料共享的功能。

自定義內容提供者:

(1)自定義類繼承sqliteopenhelper

// an highlighted block

public

class

myopenhelper

extends

sqliteopenhelper

@override

public

void

oncreate

(sqlitedatabase db)

@override

public

void

onupgrade

(sqlitedatabase db, int oldversion, int newversion)

}

(2)自定義內容提供者類,繼承contentprovider

// an highlighted block

public

class

mycontentprovider

extends

contentprovider

else

} @override

public cursor query

(uri uri, string[

] projection, string selection, string[

] selectionargs, string sortorder)

@override

public int delete

(uri uri, string selection, string[

] selectionargs)

@override

public string gettype

(uri uri)

@override

public uri insert

(uri uri, contentvalues values)

@override

public int update

(uri uri, contentvalues values, string selection, string[

] selectionargs)

}

(3)清單檔案中註冊內容提供者

// an highlighted block

android:name=

".mycontentprovider"

android:authorities=

"www.bw.1702c"

android:enabled=

"true"

android:exported=

"true"

>

<

/provider>

(1)獲取contentresolver直接獲取

// an highlighted block

public

class

mainactivity

extends

public

void

query

(view view)

public

void

selectphone

(view view)

; cursor cursor = resolver.

query

(uri,

null

,null

,null

,null);

while

(cursor.

movetonext()

)}class

user

@override

public string tostring()

';}}

}

內容提供者

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...

內容提供者

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