ContentProvide

ContentProvide: 是android的四大組件之一。
*、新建類,繼承contentProvider類,註冊contentProvider
*、在onCreate方法中獲得SQLiteDatabase的對象,關聯數據庫。
*、在對應方法裏實現數據庫的相關操作。
*、註冊ContentProvider , authorities=”URL” exported=”true”
ContentResolver:
*、創建一個ContentResolver類,用getContentResolver得到。

 *、不同程序之間共享數據,訪問數據。
  *、爲數據存儲訪問提供一個統一接口
 *、使用ContentProvider提供的功能完成添加insert、刪除delete、查詢query、更新updata
  他有兩個功能:*、向外共享數據的應用負責ContentProvider的實現,並用給出的URI作                 爲標記
                *、獲取其他應用共享的數據,通過ContentResolver,並指定URI來操作數據

系統內置了provider,爲我們提供了獲取數據的接口,可以使用ContentResolver來訪問和操作數據,通過URL來相互識別。

*、url爲統一資源標識。
 *、每個ContentProvider都擁有一個公共的URL,這個URL代表其共享的數據。

*、contentProvider的使用:調用系統使用ContentResolver
1、獲取ContentProvider,
得到一個ContentResolve的實例
ContentResolver content=Context.getContextResolver();
2、對一個ContentProvider的實例進行操作:查詢、添加、修改、刪除
Cursor ContentResolver.query(uri,
projection查詢那幾列,
selection查詢條件, selectionArgs補充, sortOrder排序條件);
eg:
//聲明一個ContentResolver常亮,用於操作。
ContentResolver resolver = getContentResolver();
//查詢得到的列名
String [] projection = {Profile._ID,Profile.DISPLAY_NAME};
//錯做Resolver得到Cursor集合,類似數據庫查詢結果
Cursor cursor = resolver.query(Contact.CONTENT, projection, selection,
selectionArgs, sortOrder);

*、自定義ContentProvider:
自定義公共數據庫、用於多個應用相互訪問、

ContentProvider:爲了實現不同應用之間實現數據交換,
當一個應用程序需要把自己的數據暴露給其他程序使用時,該應用可以通過提供
ContentProvider來實現,其他應用程序通過ContentResolver來操作他暴露的數據。

數據共享標準:
ContentProvider以一種Uri的形式來提供數據,其他應用使用ContentResolver根據
Uri去訪問操作指定的數據。

開發步驟:
1、定義自己的ContentProvider類,繼承Android的ContentProvider基類。
2、向AndroidManifest.xml文件中註冊這個ContentProvider,就行註冊activity
註冊ContentProvider需要一個Uri,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章