android Content Provider詳解六

來源:互聯網
上載者:User

建立一個Content Provider

content provider管理對中央資料倉儲的存取。你實現一個provider,就是在一個Android應用中實現一個或多個類,再加上manifest檔案中的一些元素。你實現一個 ContentProvider的子類,它作為你的provider和其它應也之間的介面。儘管content providers的目的是向其它應用提供資料,但當然也可以在你自己的應用中建立activity來允許使用者來查詢和修改你的provider所管理的資料。

建立之前的準備工作

在建立一個provider之前,需做以下工作:
1. 確定你是否需要一個content provider。你如果需要提供一個或多個下列特性,你就需建立一個content provider:
你想向其它應用提供複雜資料或檔案。
你想讓用護從你的應用複製複雜的資料到其它應用。
你想使用搜尋方塊架提供自訂的搜尋建議。
如果完全是在你的應用內部使用,你的provider不需使用 SQLite資料庫。
2. 如果你還未作出決定,請閱讀主題 Content Provider Basics 來進一步瞭解provider。
下一步,按以下步驟來建立你的provider:
1. 為你的資料設計原始儲存方式。一個content provider以兩種方式提供資料:
檔案資料
指那儲存在檔案中的資料,比片,視頻,音頻等。把檔案們儲存在你的應用的私人空間。為響應從其它應用發來的對某個檔案的請求,你的provider可以為檔案提供一個控制代碼。
"結構化" 資料
指那些儲存於資料庫中的資料、數組或小型結構。資料以相容於表的形式儲存。一行代表一條資料,就像一個人員或條目清單中的一條。一列代表一條資料中的一部分資料,比如人的名字或條目的價格。儲存這些類型的資料的一個常用方法是使用SQLite資料庫,但是你也可以使用其它形式。要瞭解android 系統中更多的儲存方式,見 設計資料存放區一節。
2. 具體定義ContentProvider 類和它的方法。此類是你的資料與Android系統中其它東西的介面。要進一步瞭解此類,見實現ContentProvider類 一節。
3. 定義provider的authority字串,content URIs,和列的名字。如果你想讓provider的應用處理intent,還要定義intent 的action、附加資料和標誌。還要定義對那些要訪問你的資料的應用所需具有的許可權。你應該考慮把這些值作為契約定義到另外一個單獨的契約類中。以後就可以向其它的開發人員展示這個類。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.