• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
lamber
博客园    首页    新随笔       管理    订阅  订阅

深入理解Android系统短信数据库

                               Android短信数据库简析

作者: jack 日期: 2012/03/31发表评论 (3)查看评论
 

如果想跳过数据库介绍,直接看数据库操作代码的话,请点击这里:

读取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
想要获得成功,首先要自己相信自己,再者要赢得周围朋友的信任!
posted @ 2012-07-03 15:34  android5k  阅读(3733)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3