Android 短信模块分析(七) MMS数据库定义及结构整理

Android 短信模块分析(七) MMS数据库定义及结构整理

一. mmssms.db

数据库mmssms.db中表的定义见表4.1至4.18所示:

表4.1 addr(彩信地址)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

msg_id

INTEGER

The ID of MM whcich this

Address entry belongs to.

Pdu主键关联

contact_id

INTEGER

The ID of contact entry in Phone Book

address

TEXT

The address text

type

INTEGER

Type of address,must be one

Of PduHeaders.BCC, PduHeaders.CC, PduHeaders.FROM, PduHeaders.TO.

charset

INTEGER

Character set of entry

表4.2 android_metadata(语言)

字段名

类型

描述

备注

locale

TEXT

本地采用语言

例如:zh_CN

表4.3 attachments (附件)

字段名

类型

描述

备注

sms_id

INTEGER

短信id

FK,短信表主键

content_url

TEXT

url

offset

INTEGER

偏移量

表4.4 canonical_addresses(所以短信删除,此数据依然存在)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

address

TEXT

发送或接收的电话号码

表4.5 drm()

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

_data

TEXT

处理加密解密的数据

表4.6 part(存储了彩信内容(文本、音乐、图象)的文件名(即在parts下面的文件名)、文件类型信息)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

mid

INTEGER

The identifier of the message which this part belongs to.

Pdu主键关联

seq

INTEGER

The order of the part

所发送Part的顺序

ct

TEXT

The content type of the part

彩信数据类型

name

TEXT

The name of the part

Part名称

chset

INTEGER

The charset of the part.

字符集

cd

TEXT

The content disposition of the part.

内容配置

fn

TEXT

The file name of the part.

文件名称

cid

TEXT

The content ID of the part

cl

TEXT

The content location of the part

ctt_s

INTEGER

The start of content-type of the message

ctt_t

TEXT

The type of content-type of the message

_data

TEXT

The location(on filesystem) of the binary data of the part.

数据的位置

如:/data/data/com.providers.telephony/app_parts/PART_1300271462558

这个字段基本没什么用,不能直接读取这个文件,读取同样需要通过ContentProvider,URI为”conteng://mms/part”

text

TEXT

表4.7 pdu(彩信)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

thread_id

INTEGER

Threads 的PK

FK

date

INTEGER

The date the message was sent.

发送日期

read

INTEGER

Has the message been read

已读为1,未读为0

m_id

TEXT

The Message-ID of the message.

sub

TEXT

The subject of the message, if present

主题

sub_cs

INTEGER

The character set of the subject, if present

主题所用字符集

ct_t

TEXT

The Content-Type of the message

ct_l

TEXT

The Content-Location of the message.

exp

INTEGER

The expiry time of the message.

过期时间

m_cls

TEXT

The class of the message.

m_type

INTEGER

The type of the message defined by MMS spec

v

INTEGER

The version of specification that this message conform.

m_size

INTEGER

The size of the message

彩信大小

pri

INTEGER

The priority of the message.

rr

INTEGER

The read-report of the message.

rpt_a

INTEGER

Whether the report is allowed.

resp_st

INTEGER

The response-status of the message.

st

INTEGER

The status of the message.

tr_id

TEXT

The transaction-id of the message.

retr_st

INTEGER

The retrieve-status of the message.

retr_txt

TEXT

The retrieve-text of the message.

retr_txt_cs

INTEGER

The character set of the retrieve-text.

read_status

INTEGER

The read-status of the message.

ct_cls

INTEGER

The content-class of the message.

resp_txt

TEXT

The response-text of the message.

d_tm

INTEGER

The delivery-time of the message.

d_rpt

INTEGER

The delivery-report of the message.

locked

INTEGER

Has the message been locked?

sim_id

INTEGER

seen

INTEGER

Indicates whether this message has been seen by the user. The "seen" flag will be used to figure out whether we need to throw up a statusbar notification or not.

有看为1,否则为0

表4.8 pending_msgs

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

proto_type

INTEGER

The type of transport protocol(MMS or SMS).

msg_id

INTEGER

The ID of the message to be sent or downloaded.

msg_type

INTEGER

The type of the message to be sent or downloaded. This field is only valid for MM. For SM, its value is always

err_type

INTEGER

The type of the error code.

err_code

INTEGER

The error code of sending/retrieving process.

retry_index

INTEGER

How many times we tried to send or download the message.

due_time

INTEGER

The time to do next retry.

pending_sim_id

INTEGER

last_try

INTEGER

The time we last tried to send or download the message.

表4.9 rate(彩信发送时间)

字段名

类型

描述

备注

sent_time

INTEGER

When a message was successfully sent.

表4.10 raw(This table is used by the SMS dispatcher to hold incomplete partial messages until all the parts arrive.)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

_data

INTEGER

处理加密解密的数据

reference_number

INTEGER

one per full message

count

INTEGER

the number of parts

sequence

INTEGER

the part number of this message

destination_port

INTEGER

address

TEXT

sim_id

INTEGER

pdu

TEXT

the raw PDU for this part

表4.11 sms(短信)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

thread_id

INTEGER

Threads 的PK

FK

在短信界面里显示在第一组的第一行

address

TEXT

对方短信号码

person

INTEGER

存在电话薄里的名字,不存在的为空

date

INTEGER

日期

protocol

INTEGER

发送短信为空,收到为0

read

INTEGER

已读未读

已读为1,未读为0

status

INTEGER

a TP-Status value or -1 if it status hasn't been received

type

INTEGER

发短信为2,收到短信为1

reply_path_present

INTEGER

发短信为空,收到的为0

subject

TEXT

主题

body

TEXT

短信内容

service_center

TEXT

运营商服务电话

locked

INTEGER

是否锁掉了。

0为未锁,1已锁

sim_id

INTEGER

error_code

INTEGER

The error code of sending/retrieving process.

seen

INTEGER

Indicates whether this message has been seen by the user. The "seen" flag will be used to figure out whether we need to throw up a statusbar notification or not.

有看为1,否则为0

表4.12 sr_pending(This table is used by the SMS dispatcher to hold pending delivery status

字段名

类型

描述

备注

reference_number

INTEGER

action

TEXT

data

TEXT

表4.13 threads(在ConversationList.java中显示的当前短信)

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

date

INTEGER

The date at which the thread was created.

日期

message_count

INTEGER

The message count of the thread.

短信总条数

recipient_ids

TEXT

canonical_addresses的主键

FK

snippet

TEXT

The snippet of the latest message in the thread.

在最前面显示的短信

snippet_cs

INTEGER

The charset of the snippet.

read

INTEGER

Indicates whether all messages of the thread have been read.

已读为1,未读为0

type

INTEGER

Type of the thread, either Threads.COMMON_THREAD or Threads.BROADCAST_THREAD.

push的短信为0

error

INTEGER

Indicates whether there is a transmission error in the thread.

有错误为1,没有为0

has_attachment

INTEGER

Indicates whether this thread contains any attachments.

没有为1,有为0

表4.15 words

字段名

类型

描述

备注

_id

INTEGER

如果是短信则与source_id相同;如果为彩信则是:

(2<<32)+source_id

index_text

TEXT

存储的信息内容

source_id

INTEGER

如果是短信则表示sms的_id

如果是彩信则表示pdu的_id

table_to_use

INTEGER

短信为1,彩信为2

表4.16 words_content

字段名

类型

描述

备注

docid

INTEGER PRIMARY_KEY

主键ID

系统生成

c0_id

INTEGER

如果是短信则与source_id相同;如果为彩信则是:

(2<<32)+ c2source_id

c1index_text

TEXT

存储的信息内容

c2source_id

INTEGER

如果是短信则表示sms的_id

如果是彩信则表示pdu的_id

c3table_to_use

INTEGER

短信为1,彩信为2

表4.17 words_segdir

字段名

类型

描述

备注

level

INTEGER PRIMARY_KEY

主键ID

idx

INTEGER PRIMARY_KEY

主键ID

start_block

INTEGER

开始块

leaves_end_block

INTEGER

end_block

INTEGER

结束块

root

BLOB

表4.18 word_segments

字段名

类型

描述

备注

blockid

INTEGER PRIMARY_KEY

主键ID

系统生成

block

BLOB

simcontacts.db 中的表相对较少,只有三个:

数据库simcontacts.db中表的定义见表4.19至4.21所示:

表4.19 android_metadata

字段名

类型

描述

备注

locale

TEXT

本地采用语言

例如:zh_CN

表4.20 simPeople

字段名

类型

描述

备注

_id

INTEGER PRIMARY_KEY

主键ID

系统生成

name

TEXT

number

TEXT

simid

INTEGER

email

TEXT

pinyin

TEXT

拼音

表4.21 simPeopleLookup

字段名

类型

描述

备注

token

TEXT

source

INTEGER

与simPeople的_id进行关联

相关推荐

淘宝客服能不能看到之前聊天记录?怎么删除客服聊天记录?
任信用iOS版下载
bt365网站

任信用iOS版下载

📅 09-13 👁️ 454
企业竞争模拟大赛宣讲会
mobile365体育

企业竞争模拟大赛宣讲会

📅 11-07 👁️ 1692
2021十大女装游戏推荐 好玩有趣的女装游戏前十名排行榜
世俱杯6月26日国米对河床,裁判坦塔舍夫将主导比赛
取消Excel表分类汇总的教程
bt365网站

取消Excel表分类汇总的教程

📅 07-12 👁️ 2943