【Android的從零單排開發日記】之入門篇(九)——Android四大組件之ContentProvider,android四大組件
資料來源組件ContentProvider與其他組件不同,資料來源組件並不包括特定的功能邏輯。它只是負責為應用提供資料訪問的介面。Android內建的許多資料都是使用ContentProvider形式,供開發人員調用的(如視頻,音頻,圖片,通訊錄等)。如果把第三方應用比作一個黑盒子的話,ContentProvider就像是從裡面延伸出來的管道,從這個管道,應用可以把一些資料共用出來,我們也可以往裡面輸送資料。但是裡面怎麼處理資料我們看不到,也管不著。並且這個管道是有規範標準的,不是它規定的資料你塞不進這個管道。
一、ContentProvider的特徵
二、ContentProvider的執行個體
我們還是通過一個執行個體來瞭解它吧。利用ContentProvider來對第三方的資料庫進行操作。
三、調用ContentProvider
在使用其他應用為你提供的ContentProvider時,你必須要知道的有兩點:(1)它的authorities值,在我這裡的是“com.example.database”;(2)資料檔案的結構,比如我這裡要使用的是資料庫中的booknote表,它裡面有著(_id,title,content,time)這些欄位。只有知道了這些你才能操作ContentProvider。
四、結束語
理論上來說,資料來源組件並沒有所謂的生命週期,因為資料來源組件的狀態並不作為判定進程優先順序的依據。所以系統回收進程資源時,並不會將資料來源組件的銷毀事件告訴開發人員。但構造ContentProvider組件時還是會調用onCreate()函數。所以,不要在資料來源組件中部署延遲寫入等寫最佳化策略,當被系統默默回收時,一些未持久化的資料會丟失。一旦資料來源組件被構造出來,就會保持長期啟動並執行狀態至其所在的進程被系統回收。所以,也不要在資料來源組件中緩衝過多的資料,以免佔用記憶體空間。
到此,Android的四大組件已經介紹完畢,他們各有各的的特色和用法,同時也是我們開發時候不可缺少的工具。希望通過這些介紹能讓大家體會到Android設計的巧妙和特徵,學會正確的使用Android應用的架構。那麼接下來可能會帶來的是Android的Intent機制,盡請期待~
參考文章:(1)ContentProvider和Uri詳解 http://www.cnblogs.com/linjiqin/archive/2011/05/28/2061396.html
(2) ContentProvider淺析 http://bbs.51cto.com/thread-1024108-1.html
(3) 從頭學Android之ContentProvider http://blog.csdn.net/worker90/article/details/7016430
下載:demo下載
========================================
作者:cpacm
出處:(http://www.cnblogs.com/cpacm/p/3929274.html)