安卓ContentProvider的理論知識

2021-09-30 12:29:23 字數 2335 閱讀 4692

1,讀取聯絡人資訊:

2,聯絡人的資料庫檔案的位置

/data/data/com.android.providers.contacts/databases.contacts2.db

3,資料庫中重要的幾張表

1、contacts表

該錶儲存了所有的手機聯絡人,每個聯絡人佔一行,該錶儲存了聯絡人的

contactid、聯絡次數、最後一次聯絡的時間、是否含有號碼、是否被新增

到收藏夾等資訊。

2、raw_contacts表

該錶儲存了所有建立過的手機聯絡人,每個聯絡人佔一行,表裡有一列標

識該聯絡人是否被刪除,該錶儲存了兩個id:rawcontactid和contactid,

從而將contacts表和raw_contacts表聯絡起來。該錶儲存了聯絡人的

rawcontactid、contactid、聯絡次數、最後一次聯絡的時間、是否被添

加到收藏夾、顯示的名字、用於排序的漢語拼音等資訊。

3、 mimetypes

該錶定義了所有的mimetypeid,即聯絡人的各個欄位的唯一標誌。

4、data表

 該錶儲存了所有建立過的手機測聯絡人的所有資訊,每個欄位佔一行 ,該錶

儲存了兩個id:mimetypeid和rawcontactid,從而將data表和

raw_contacts表聯絡起來。

4,讀取聯絡人步驟:

>1.布局listview

>2.得到contentresolver物件,通過getcontentresolver得到

>3.得到資料 怎麼得到資料?聯絡人的uri

/*** 演示通過conentresolver訪問系統的聯絡人

* * contactscontract.contacts.content_uri 管理聯絡人的uri

content:

*contactscontract.commondatakinds.phone.content_uri

管理聯絡人的**的uri content:

*contactscontract.commondatakinds.email.content_uri

管理聯絡人的email的uri content:

* android.provider.contactscontract.data.content_uri

插入聯絡人 content:

*/>4,新增資料

>5,修改資料

>6,刪除資料

android.provider.contactscontract.data.content_uri;//操作聯絡人的uri物件 ,增刪改

content:

1,contentprovider

>乙個程式可以通過實現乙個contentprovider的抽象介面將自己的資料暴露出去

2,contentresover

> 外界的程式通過contentresolver介面可以訪問contentprovider提供的資料;

3,uri

>uri是contentresolver和contentprovider進行資料交換的標識。

3,讀取簡訊

4,讀取**記錄

5,讀取聯絡人

自定義的contentprovider

1,如何建立自定義的contentprovider?

服務端:

>1.設定資料庫

create table person(_id integer primary key autoincrement,name varchar(16),age integer)

>2.自定義的contentprovider類

a.需要暴露資料訪問介面的應用程式需要宣告contentprovider的子類

query() insert() update() delete() gettype() oncreate()

contenturi

urimatcher urimatcher=new urimatcher(urimatcher.no_match);

static

b.將contentprovider在清單配置檔案中註冊

android:authorities="adduri第乙個引數指定的許可權一致"

android:exported="true">

客戶端:

1,listview

2,資料來源 contentresovler

3,uri (增刪改查)

content://包名+類名/insert/zhangsan

安卓四大元件之ContentProvider

contentprovider是內容提供者 為什麼要有內容提供者?因為在安卓中每乙個應用的資料庫檔案都是私有的,自能在自己的應用中自己使用,別的應用要是想訪問,那麼就需要修改檔案的許可權,這樣資料就變的不安全了,所以就引入了內容提供者。首先來說一下內容提供者中的乙個重要的類uri,熟悉uri會使我們...

安卓機頂盒軟體安卓

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

安卓app公升級之安卓app簽名

2.使用者自定義的方式簽名 簽名是安卓的公升級的必須要求 載掉舊版本才能安裝新版本,即讓使用者把舊版本卸在裝新的,這樣使用者體驗肯定就不好了。使用者自定義的方式簽名具體流程如下 1 滑鼠右鍵單機專案,選擇export,出如下視窗 之後就按步驟要求就可以匯出乙個已經通過自定義密匙簽名的安卓apk和密匙...