Android短信數據庫簡析
如果想跳過數據庫介紹,直接看數據庫操作代碼的話,請點擊這里:
讀取Android短信
—————————————–
Android短信數據庫:
讀取Android系統所有短信
讀取Android短信會話列表
讀取指定號碼短信列表
Androiod手機系統的短信數據庫路徑為:/data/data/com.android.providers.telephony/dababases/mmssms.db
Android系統手機短信數據庫共有18個表:
一般情況下,對手機短信數據庫的操作,主要涉及到三個表:
Canonical_addresses表
Threads表
Sms表
這三個表之間是有一定關聯的,通過這三個表,能夠獲取系統所有的短信,能夠獲取短信會話列表,也能夠獲取某一聯系人的短信列表。
“短信會話列表”與“某一聯體系人的短信列表”的區別:
如下圖:
點擊手機中的短信圖標,進入短信界面時,能夠看到手機中所有聯系人的短信列表(下圖左)
點擊下面左邊圖片中的某一聯系人后,就能進入與該聯系人的短信來往列表(下圖右)
上面說到的三個表中,Canonical_addresses與Threads表對應於下面左邊圖片的界面;Sms表對應系統所有的短信內容。
如果要獲取系統短信會話列表(上圖左),則首先,需要從Canonical_addresses表中獲取addresses列表,其中的每一條記錄對應於上圖左中的一個聯系人;獲取addresses列表后,通過Canonical_addresses表中的ID來到thread表中查詢“短信會話列表”,注意:Canonical_addresses表中的ID字段與thread表中的recipient_ids字段相對應。
它們這之間的具體關系其實蠻簡單的,只要把手機里的短信內容和數據庫中的內容對比着一看就能搞清楚,如下圖:
文章轉載注明: Android短信數據庫簡析 Jack Blog