當前位置:
首頁 > 最新 > ContentProvider使用方法詳解

ContentProvider使用方法詳解

是四大組件之一,其本質上是一個標準化的數據管道,它屏蔽了底層的數據管理和服務等細節,以標準化的方式在 應用間共享數據。用戶可以靈活實現所封裝的數據存儲以及增刪改查等,所有的 必須實現一個對外統一的介面。

本篇文章主要介紹 開發中的部分知識點,通過閱讀本篇文章,您將收穫以下內容:

  • ContentProvider

  • 獲取聯繫人信息的方法

  • 獲取簡訊內容的方法

  • ContentResolver 內容解析者

  • ContentObserver 內容觀察者

  • ContentProvider ContentResolver ContentObserver 三者關係

  • 我們不是牛逼的程序員,我們只是程序開發中的墊腳石。

    我們不發送紅包,我們只是紅包的搬運工。

    1. ContentProvider 實現ContentProvider 繼承關係

    四大組件之一,必須在Androidmainfest.xml 中註冊

    注意 : URI 中的元素

    android:authorities="ProgramAndroid"

    繼承 ContentProvider 實現增刪改查等方法

    提供對外提供操作的資料庫方法

    其他APK 訪問此ContentProvider 資料庫的方法

    注意 :

    // 此條添加上才ContentObserver可以監聽資料庫改變

    getContentResolver().notifyChange(Uri.parse(uri),null);

    至此,自定義的使用方法已經實現。

    2. 獲取聯繫人信息的方法

    系統自帶一下 ,比如 聯繫人

    例如: 源碼 下的內容

    Android 系統Provider.png

    本段主要實現獲取系統聯繫人(ContactProvider)提供的一些信息

    獲取聯繫人實現方法

    ListView 顯示布局如下

    item 布局如下:

    注意: 獲取聯繫人需要許可權

    至此,已經可以獲取並顯示聯繫人信息。

    3.獲取簡訊內容的方法

    簡訊內容數據也是系統提供的,獲取方法如下:

    ListView 布局如下

    item 布局如下:

    4. ContentResolver 內容解析者

    主要是通過調用獲取 提供的數據介面,進而進行增刪改查等操作。

    5.ContentObserver 內容觀察者

    內容觀察者通過指定 監聽數據是否改變。

    自定義 ContentObserver 內容觀察者

    1.註冊ContentObserver 內容觀察者 registerContentObserver

    2.繼承 ContentObserver 實現 onChange方法

    注意 :

    // 此條添加上才ContentObserver可以監聽資料庫改變

    getContentResolver().notifyChange(Uri.parse(uri),null);

    至此自定義內容觀察者已經實現完成

    調用ContentObserver 監聽簡訊數據改變

    6. ContentProvider ContentResolver ContentObserver 三者關係

    三者關係圖如下

    關係圖.png

    至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。期待您的關注,

    感謝您的閱讀,謝謝!


    喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

    本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


    請您繼續閱讀更多來自 程序員Android 的精彩文章:

    Android App Crash詳解

    TAG:程序員Android |