四大組件之ContentProvider

ContentProvider

一  內容提供者
      1.分爲系統自帶的內容提供者和自定義的內容提供者
      2.系統內容提供者:一般在數據庫下/data/data/下以com.android.provider開頭的包名,都是有系統內容提供者                的,比如短信,聯繫人。獲得短信,聯繫人信息等都是通過系統的內容提供者。
      3.自定義的內容提供者:現有兩個工程A和B,A中有數據庫,B要訪問A中私有化的數據庫,但是A中的數據庫外界          無法直接訪問,所以我們需要在A中自定義內容提供者,對外提供操作A中數據庫的方法,將操作數據庫的方法            公開化,內容提供者提供增刪改查的方法,B通過調用這些方法對A的數據庫進行操作。
二 自定義內容提供者
     1.定義類繼承ContentProvider,並實現其中的方法()       
    public class Provider extends ContentProvider {
	@Override
	public boolean onCreate() {
		// TODO Auto-generated method stub
		return false;
	}
      2.清單文件中配置
     android:authorities="myProvider" 標識,content://myProvider是要訪問的內容提供者
     android:exported="true"置爲true,其他程序也可以訪問  
    <provider android:name="com.example.myprovider.Provider"
                  android:authorities="myProvider"
                  android:exported="true"/>
三 訪問內容提供者
   1.獲取中間人ContentResolver
   2.提供uri,觀察誰,就用誰的uri
   3.註冊內容觀察者ContentObserver
     比如監聽系統的所有短信的變化,系統短信已經有了內容提供者,我們只需與系統短信的uri匹配上,我們就可      以操作它,此時我們不需要寫內容提供者

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