Android短信Messaging数据库字段分析

编程入门 行业动态 更新时间:2024-10-20 20:42:48

Android短信Messaging数据库<a href=https://www.elefans.com/category/jswz/34/1771443.html style=字段分析"/>

Android短信Messaging数据库字段分析

数据库提取

  • 在 Android Studio 中点击 Device File Explorer按钮。
  • 选择/data/data/com.xxx.xxx/databases/bugle_db右键 Save As 保存到本地。
  • 注:com.xxx.xxx 为当前自己的工程目录

数据库说明

  • Messaging创建了数据库bugle_db用于同步mms/sms.db的数据,短信查询时直接从bugle_db数据库进行查询。

数据库内表和视图:

  • conversation_list_view:主界面的视图,是把conversations、messages和participants三个表的数据糅合起来的视图,方便主界面的各项数据显示。
  • conversation_participants:记录conversation和它的联系人participatant的关联。
  • messages:记录每一条短彩信的数据,包括远程uri和已读状态等。
  • parts:记录短彩信的实际内容,比如文本或者图片uri,跟messages关联能得到完整的短彩信数据。

数据库中数据表有: conversations、messages、parts、participants、conversation_participants等。

视图有: draft_parts_view 、coversation_image_parts_view 、conversation_list_view。

数据表

数据表 conversation_participants

字段数据类型说明
conversation_idint会话人属于那一场会话
participant_idint会话人id

数据表 conversations

字段数据类型说明
_idint主键ID
sms_thread_idintSMS/MMS Thread ID from the system provider
nameString信息名称
latest_message_idint最新消息id
snippet_textString最新更新的消息的内容(彩信为主题,短信为正文)会话列表中显示的简要消息
subject_textString会话列表中显示的简要消息
preview_uriString预览Uri
preview_content_typeString预览Uri类型
show_draftint是否显示当前草稿
draft_snippet_textString最新的草稿简要
draft_subject_textString最新的草稿主题
draft_preview_uriString草稿预览uri
draft_preview_content_typeString草稿预览uri类型
archive_statusarchive_status会话是否归档
sort_timestampint时间戳用于排序
last_read_timestampint最新阅读短信时间戳
iconString会话Icon
participant_contact_idint参与者联系人ID(如果此对话只有一个参与者)。否则为-1
participant_lookup_keyString参与者查找键(如果此对话只有一个参与者)。否则为空
participant_normalized_destinationString参与者的标准化目的地(如果此对话只有一个参与者)。否则为空。
current_self_idString自身的id?
participant_countint参与者人数不包括自己(因此1:1的比例为1或更大的比例为1:1)
notification_enabledint对话是否启用通知
notification_sound_uriString通知铃声
notification_vibrationint是否启动震动
include_email_addrint会话包含Email?
sms_service_centerString
IS_ENTERPRISEint是否是企业对话
is_topint是否置顶(后期添加字段)

数据表 messages

字段数据类型说明
idint主键
conversation_idint会话id关联conversations中id
sender_idint发送该消息的会话人id
sent_timestampint发送消息时间戳
received_timestampint接收消息时间戳
message_protocolint信息类型:短信息、彩信或彩信通知
message_statusint消息状态
seenint是否被用户在通知中看见0和1
readint是否被用户已阅读0和1
sms_message_uriString来自平台提供程序的消息ID
sms_priorityint信息的优先级
sms_message_sizeint彩信大小
mms_subjectString彩信主题
mms_transaction_idStringMMS通知的事务id
mms_content_locationString彩信通知的内容位置
mms_expiryint过期时间
raw_statusint详细的状态比如那条短信是发送成功还是失败
self_idint代表处理此消息的sim卡的参与者
retry_start_timestampint开始重试的时间。用于计算重试窗口,当重试发送/下载邮件。

数据表 parts

字段数据类型说明
_idint主键自增
message_idint附件属于那条消息
conversation_idint附件属于那次会话
textString附件文字
uriString附件内容uri
content_typeString附件内容类型
widthint此附件的缓存宽度(用于加载时的布局)
heightint此附件的缓存高度(用于加载时的布局)
timestampint同message表中时间戳

数据表 participants

字段数据类型说明
_idint主键
sub_idint参与者关联的sim卡的订阅id。在L中引入。对于早期版本,将始终使用默认的-1。对于多sim卡设备(或sim卡已更改的情况)单个设备,可能有几个不同的sub_id值
sim_slot_idint此自参与者的活动SIM(插入设备中)的插槽。如果自参与者与任何活动SIM不对应,这将是链接android.telephony.SubscriptionManager.对于所有非自参与者,该列将被忽略
normalized_destinationString如果可能,电话号码将以标准E164格式存储。这是一个独特的对于给定参与者,我们不能用同一个电话号码处理多个参与者,因为我们不知道消息来自哪一个。这也可以是电子邮件地址,在这种情况下,它与显示的地址相同
send_destinationString发送短信的号码
display_destinationString添加行时,根据设备的区域设置对电话号码进行用户友好的格式设置
full_nameString全名
first_nameString
profile_photo_uriString头像
contact_idint联系人id
lookup_keyString包含有关如何在联系人查找中查找联系人信息的提示的字符串
blockedint是否该用户被拦截
subscription_colorint订阅的颜色?
subscription_nameString订阅的名字?
contact_destinationString存储在此参与者的联系人中的确切目的地

视图

conversation_list_view
查询对话列表

SELECT conversations._id AS _id,conversations.name AS name,conversations.current_self_id AS current_self_id,conversations.archive_status AS archive_status,messages.read AS read,conversations.icon AS icon,conversations.participant_contact_id AS participant_contact_id,conversations.participant_lookup_key AS participant_lookup_key,conversations.participant_normalized_destination AS participant_normalized_destination,conversations.sort_timestamp AS sort_timestamp,conversations.show_draft AS show_draft,conversations.draft_snippet_text AS draft_snippet_text,conversations.draft_preview_uri AS draft_preview_uri,conversations.draft_subject_text AS draft_subject_text,conversations.draft_preview_content_type AS draft_preview_content_type,conversations.preview_uri AS preview_uri,conversations.preview_content_type AS preview_content_type,conversations.participant_count AS participant_count,conversations.notification_enabled AS notification_enabled,conversations.notification_sound_uri AS notification_sound_uri,conversations.notification_vibration AS notification_vibration,conversations.include_email_addr AS include_email_addr,messages.message_status AS message_status,messages.raw_status AS raw_status,messages._id AS message_id,participants.first_name AS snippet_sender_first_name,participants.display_destination AS snippet_sender_display_destination,conversations.IS_ENTERPRISE AS IS_ENTERPRISE,conversations.is_top AS is_top,conversations.snippet_text AS snippet_text,conversations.subject_text AS subject_textFROM conversationsLEFT JOINmessages ON (conversations.latest_message_id = messages._id) LEFT JOINparticipants ON (messages.sender_id = participants._id) ORDER BY conversations.sort_timestamp DESC;

coversation_image_parts_view
查询图片列表

SELECT messages.conversation_id AS conversation_id,parts.uri AS uri,participants.full_name AS _display_name,parts.uri AS contentUri,NULL AS thumbnailUri,parts.content_type AS contentType,participants.display_destination AS display_destination,messages.received_timestamp AS received_timestamp,messages.message_status AS message_statusFROM messagesLEFT JOINparts ON (messages._id = parts.message_id) LEFT JOINparticipants ON (messages.sender_id = participants._id) WHERE parts.content_type LIKE image/%ORDER BY messages.received_timestamp ASC,parts._id ASC;

draft_parts_view
查询草稿附件

SELECT parts._id AS _id,parts.message_id AS message_id,parts.text AS text,parts.uri AS uri,parts.content_type AS content_type,parts.width AS width,parts.height AS height,messages.conversation_id AS conversation_idFROM messagesLEFT JOINparts ON (messages._id = parts.message_id) WHERE messages.message_status = 3;

参考:
        安卓短信Messaging数据库表格整理与字段分析

更多推荐

Android短信Messaging数据库字段分析

本文发布于:2023-06-27 19:24:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/915876.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   短信   数据库   Android   Messaging

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!