內容提供者總結

來源:互聯網
上載者:User

標籤:

1、建立內容提供者的時候用到ContentProvider

      使用內容提供者的時候用到ContentResolver2、UriMatcher——用於判斷一條uri跟指定的多條uri中的哪條匹配【需要添加匹配規則】    匹配規則中路徑後面還可以攜帶以下符號【通常作為查詢的where條件使用】:      *  代表任何的文本      #  代表任何數字3、為什麼使用ContentProvider而不直接把資料庫改成公開的?    因為使用ContentProvider可以自己定義訪問規則,選擇私人資料哪些共用,哪些不共用,加強資料的安全性,ContentProvider不僅僅只共用資料庫,文本等也可以共用,但是我們用的最多的還是共用資料庫4、擷取系統簡訊    查詢sms表:address - date - type - body    路徑和表名可以不同,路徑不同不代表查的表就不同,路徑不同代表的是不同的查詢條件     inbox  --> 查到的是收件匣的訊息5、插入簡訊    <1> type    1 —— 代表寫,2 —— 代表讀    <2> 插入時讀寫權限都需要,因為我們不知道 內容提供者中的 insert 的具體實現 6、getType —— 返回通過指定uri擷取的資料的mimetype,mimetype 公司自己定義,自己使用    vnd.android.cursor.dir/  -->  表示返回多條資料    vnd.android.cursor.item/ --> 表示返回單條資料7、擷取系統連絡人    (1) 要查詢的表及欄位    raw_contacts表        contact_id:連絡人id    data表:儲存連絡人的詳細資料,一條資訊是一行        data1:連絡人資訊的具體內容        raw_contact_id:連絡人id,標識該行資訊屬於哪個連絡人        mimetype_id:標識該行資訊屬於什麼類型    mimetypes表:mimetype_id對應的mime類型    (2) 查詢data表示是複合查詢,查詢的不只是data表,直接查詢mimetypes表中的mimetype,而不查詢mimetype_id,因為mimetype_id就是指向mimetypes表中的mimetype,因此data中只查詢data1和mimetype欄位就可以了    (3) 實現步驟:        <1> 先拿到raw_contacts表中的contact_id
        <2> 拿著連絡人id去data表查詢屬於該連絡人的資訊     (4) 封裝資料        將資料封裝為一個java類,類中設定get/set方法    (5) 手機連絡人就算刪除,在手機中也不會完全刪除,只是連絡人id為null,所以無法在手機上的連絡人清單中顯示

內容提供者總結

聯繫我們

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