內容提供者

2021-07-06 10:03:16 字數 2370 閱讀 7630

public

class

personcontentprovider

extends

contentprovider

@override

public

boolean

oncreate()

/***

* 作用: 判斷 傳進來的 uri 查詢的是一條資料 還是多條資料

* */

@override

public string gettype(uri uri)

return

null;

}@override

public cursor query(uri uri, string projection, string selection,

string selectionargs, string sortorder)

break;

case person_query_item_code: // 查詢的是單條資料, uri末尾出有乙個id

if(db.isopen()) , null, null, sortorder);

return cursor;

}break;

default:

throw

new illegalargumentexception("uri不匹配: " + uri);

}return

null;

}@override

public uri insert(uri uri, contentvalues values)

break;

default:

throw

new illegalargumentexception("uri不匹配: " + uri);

}return

null;

}@override

public

intdelete(uri uri, string selection, string selectionargs)

break;

default:

throw

new illegalargumentexception("uri不匹配: " + uri);

}return

0; }

@override

public

intupdate(uri uri, contentvalues values, string selection,

string selectionargs)

break;

default:

throw

new illegalargumentexception("uri不匹配: " + uri);

}return

0; }

}

清單檔案:定義訪問許可權 的訪問路徑

android:name=".providers.personcontentprovider"

android:authorities="com.itheima28.sqlitedemo.providers.personcontentprovider"

android:readpermission="aa.bb.cc.read"

android:writepermission="aa.bb.cc.write" >

provider>

測試:

public

class

textcase

extends

androidtestcase

public

void

testdelete() ;

int count = resolver.delete(uri, where, selectionargs);

log.i(tag, "刪除行: " + count);

}public

void

testupdate() );

log.i(tag, "更新行: " + count);

}public

void

testqueryall() , null, null, "_id desc");

if(cursor != null && cursor.getcount() > 0)

cursor.close();}}

public

void

testquerysingleitem() , null, null, null);

if(cursor != null && cursor.movetofirst())

}}

內容提供者

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

內容提供者

含義 不同應用之間資料互動的中介 介面 案例 1 mainactivity 2 myopenhelper public class myopenhelper extends sqliteopenhelper 當資料庫第一次建立的時候呼叫,適合做表結構的初始化 override public void...