android ContentProvider共用資料方法

來源:互聯網
上載者:User

Android提供了ContentProvider,一個程式可以通過實現一個ContentProvider的抽象介面將自己的資料完全暴露出去,而且ContentProviders是以類似資料庫中表的方式將資料暴露,也就是說ContentProvider就像一個“資料庫”。那麼外界擷取其提供的資料,也就應該與從資料庫中擷取資料的操作基本一樣,只不過是採用URI來表示外界需要訪問的“資料庫”。至於如何從URI中識別出外界需要的是哪個“資料庫”,這就是Android底層需要做的事情了,不在此詳細說。簡要分析下ContentProvider向外界提供資料操作的介面:

query(Uri, String[], String, String[], String)

insert(Uri, ContentValues)

update(Uri, ContentValues, String, String[])

delete(Uri, String, String[])

 

這些操作與資料庫的操作基本上完全一樣,在此不詳細說,具體的解析可以參考Android Sqlite解析篇中的詳細說明。需要特殊說明的地方是URI:

在URI的D部分可能包含一個_ID ,這個應該出現在SQL語句中的,可以以種特殊的方式出現,這就要求我們在提供資料的時候,需要來額外關注這個特殊的資訊。Android  SDK推薦的方法是:在提供資料表欄位中包含一個ID,在建立表時INTEGER PRIMARY KEY AUTOINCREMENT標識此ID欄位。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.