跨程式共享資料

2022-09-12 17:12:16 字數 2102 閱讀 9981

可以利用getcontentresolver()獲取contentresolver.contentresolver中提供了一系列方法用於對資料進行crud操作.

通過getcontentresolver()獲取contentresolver的例項,contentresolver中提供了一系列方法用於對資料進行crud操作.

其中 1.insert() 用於新增

2.update() 用於更新

3.delete() 用於刪除

4.query() 用於查詢

contentresolver中的crud操作是不接受表名引數的,而是使用乙個uri引數代替。該引數被稱為內容uri,由兩部分組成:authority和path。

內容uri標準寫法:

content://com

.example

.provider/table1

需要將內容uri解析成uri物件才可以作為引數傳入

cursor cursor=getcontentresolver().query(uri,projection,selection,selectionargs,orderby);
其它操作與之類似,也和sqlite中的操作相像。

可以extends contentprovider,需要覆蓋父類的6個方法.

1.public boolean oncreate():初始化contentprovider時呼叫,完成對資料庫的建立和公升級,返回true則表示contentprovider初始化成功,返回false表示失敗。注意:只有存在contentresolver嘗試訪問該程式中的而資料時,contentprovider才會初始化

2.public cursor query(uri uri, string projection, string selection, string selectionargs, string sortorder):從contentprovider中查詢資料。使用uri引數來確定查詢哪一張表,projection用於確定查詢哪些列,selectionselectionargs用來約束查詢內容,sordoreder引數用於對結果進行排序,查詢結果放在cursor中返回。

3.public uri insert(uri uri, contentvalues values):向contentprovider中新增一條資料。

4.public int delete(uri uri, string selection, string selectionargs):從contentprovider中刪除資料。

5.public int update(uri uri, contentvalues values, string selection, string selectionargs):更新資料

6.public string gettype(uri uri):根據傳入的內容uri來返回相對應的mime型別。

乙個內容uri對應的mime字串由三部分組成:

1.必須以vnd開頭。

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

3.最後街上vnd..

因為所有的crud操作都一定要匹配到相應的內容uri格式才能進行,所以我們可以控制外部程式能夠獲得的儲存內容。

跨程式共享資料

想要實現跨程式共享資料需要用到內容提供器,內容提供器給別的應用提供了訪問介面,可以新建乙個類去繼承contentprovider來建立乙個自己的內容提供器。contentprovider類中有6種抽象方法,在使用子類繼承的時候需要全部重寫。1 public class myprovider exte...

跨應用程式的session共享

常常有這樣的情況,乙個大專案被分割成若干小專案開發,為了能夠互不干擾,要求每個小專案作為乙個單獨的web應用程式開發,可是到了最後突然發現某幾個小專案之間需要共享一些資訊,或者想使用session來實現sso single sign on 在session中儲存login的使用者資訊,最自然的要求是...

跨域共享cookie和跨域共享session

的父網域名稱.cookie4可以被提交,因為domain和cookie都嚴格保持一致.這裡需要注意的是,在瀏覽器看來.www.vinceruan.info不是blog.vinceruan.info 的父網域名稱,而vinceruan.info才是blog.vinceruan.info的父網域名稱,w...