深入理解Android系統短信數據庫


                               Android短信數據庫簡析

 

如果想跳過數據庫介紹,直接看數據庫操作代碼的話,請點擊這里:

讀取Android短信

—————————————–

Android短信數據庫:

讀取Android系統所有短信

讀取Android短信會話列表

讀取指定號碼短信列表

Androiod手機系統的短信數據庫路徑為:/data/data/com.android.providers.telephony/dababases/mmssms.db

2012-03-31_160225

Android系統手機短信數據庫共有18個表:

2012-03-31_154737

一般情況下,對手機短信數據庫的操作,主要涉及到三個表:

Canonical_addresses表

Threads表

Sms表

2012-03-31_1547572012-03-31_154910

2012-03-31_154840

這三個表之間是有一定關聯的,通過這三個表,能夠獲取系統所有的短信,能夠獲取短信會話列表,也能夠獲取某一聯系人的短信列表。

“短信會話列表”與“某一聯體系人的短信列表”的區別:

如下圖:

點擊手機中的短信圖標,進入短信界面時,能夠看到手機中所有聯系人的短信列表(下圖左)

點擊下面左邊圖片中的某一聯系人后,就能進入與該聯系人的短信來往列表(下圖右)

上面說到的三個表中,Canonical_addresses與Threads表對應於下面左邊圖片的界面;Sms表對應系統所有的短信內容。

2012-03-31_1541582012-03-31_154223

如果要獲取系統短信會話列表(上圖左),則首先,需要從Canonical_addresses表中獲取addresses列表,其中的每一條記錄對應於上圖左中的一個聯系人;獲取addresses列表后,通過Canonical_addresses表中的ID來到thread表中查詢“短信會話列表”,注意:Canonical_addresses表中的ID字段與thread表中的recipient_ids字段相對應。

它們這之間的具體關系其實蠻簡單的,只要把手機里的短信內容和數據庫中的內容對比着一看就能搞清楚,如下圖:

2012-03-31_162750

 
該日志由 jack 於2012年03月31日發表在 Android 分類下, 你可以發表評論,並在保留原文地址及作者的情況下引用到你的網站或博客。 
文章轉載注明: Android短信數據庫簡析  Jack Blog


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM