新聞中心
Android智能手機是如今使用最廣泛的移動設備之一,短信作為一種直觀簡單的傳輸方式在移動設備上有著廣泛的應用。Android系統(tǒng)使用SQLite作為其自帶的關系型數據庫,對于短信管理的實現也是通過建立一張短信表,我們可以從中得到關于Android短信數據庫表結構的詳細信息。

創(chuàng)新互聯公司專注于咸寧企業(yè)網站建設,響應式網站設計,商城網站開發(fā)。咸寧網站建設公司,為咸寧等地區(qū)提供建站服務。全流程定制網站建設,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯公司專業(yè)和態(tài)度為您提供的服務
一、S表
簡介:S表是Android系統(tǒng)中最關鍵的一張短信表,存儲用戶發(fā)送和接收到的短信信息。
表結構:
“`
sqlite> .schema s
CREATE TABLE s (
_id INTEGER PRIMARY KEY,
thread_id INTEGER,
address TEXT,
person INTEGER,
date INTEGER,
protocol INTEGER,
read INTEGER DEFAULT 0,
status INTEGER DEFAULT -1,
type INTEGER,
reply_path_present INTEGER,
subject TEXT,
body TEXT,
service_center TEXT,
locked INTEGER DEFAULT 0,
error_code INTEGER DEFAULT 0,
seen INTEGER DEFAULT 0,
deletable INTEGER DEFAULT 1,
sim_slot INTEGER,
hidden INTEGER DEFAULT 0,
group_id INTEGER DEFAULT 0,
group_type INTEGER DEFAULT 0,
delivery_date INTEGER,
app_id TEXT,
msg_id TEXT,
reserved BOOLEAN DEFAULT 0,
priority INTEGER DEFAULT 0,
template_id INTEGER DEFAULT 0,
metadata TEXT,
raw_status INTEGER DEFAULT 0,
creator TEXT DEFAULT ‘com.android.mms’,
send_timestamp INTEGER DEFAULT 0 NOT NULL,
expire_on INTEGER DEFAULT 0 NOT NULL
);
“`
S表共包括31個列屬性,下面就對其中一些關鍵屬性進行展開簡述。
1. _id
表明該短信在短信數據庫中的唯一標識符。
2. thread_id
表明該短信的會話ID,用于將一組短信歸為一組,表現為同一個聯系人或一組聊天記錄。
3. address
表明該短信所屬聯系人的手機號碼或名稱。
4. date
表明該短信的日期和時間,時間戳格式,單位是毫秒。
5. protocol
表明該短信協(xié)議的類型,0為S,1為MMS。
6. read
表明該短信是否已讀,0為未讀,1為已讀。
7. status
短信發(fā)送狀態(tài),-1為未知狀態(tài)。
8. type
表明該短信的類型,1為接收到的短信,2為發(fā)出的短信。
9. body
表明該短信的主題,包含文本內容。
二、MMS表
簡介:MMS表是針對Android系統(tǒng)中的彩信服務而創(chuàng)建的數據表,存放用戶發(fā)送和接收到的彩信信息。
表結構:
“`
sqlite> .schema pdu
CREATE TABLE pdu (
_id INTEGER PRIMARY KEY,
thread_id INTEGER DEFAULT 0,
date INTEGER,
date_sent INTEGER DEFAULT 0,
msg_box INTEGER,
read INTEGER DEFAULT 0,
m_id INTEGER,
sub INTEGER,
sub_cs INTEGER,
ct_t TEXT,
ct_l TEXT,
exp INTEGER,
m_cls INTEGER,
m_type INTEGER,
v INTEGER DEFAULT 0,
m_size INTEGER,
priority INTEGER DEFAULT 0,
rr INTEGER DEFAULT 0,
rpt_a INTEGER DEFAULT 0,
resp_st INTEGER DEFAULT 0,
st INTEGER DEFAULT -1,
tr_id TEXT,
retr_st INTEGER DEFAULT 0,
retr_txt TEXT,
retr_txt_cs INTEGER DEFAULT 0,
read_status INTEGER DEFAULT 0,
ct_cls TEXT DEFAULT ‘personal’,
resp_txt TEXT,
d_tm INTEGER DEFAULT 0,
dk_time INTEGER DEFAULT 0,
exp_i INTEGER DEFAULT 0,
m_rpt INTEGER DEFAULT 0,
v_cal_fn TEXT,
v_cal_scale INTEGER DEFAULT -1,
v_cal_meth INTEGER DEFAULT -1,
v_cal_text TEXT,
v_card_name TEXT,
v_hcard TEXT,
v_event TEXT,
v_ical TEXT,
v_note TEXT,
v_poll_q TEXT,
v_poll_a TEXT,
v_response TEXT,
v_apptst TEXT,
v_exception_date INTEGER DEFAULT 0,
v_exception_rule TEXT,
total_pages INTEGER DEFAULT 0,
octet INTEGER DEFAULT 0,
start INTEGER DEFAULT -1,
distribution_indicator INTEGER DEFAULT -1,
element_descriptor TEXT,
limit INTEGER DEFAULT -1,
recommended_retrieval_mode INTEGER DEFAULT 0,
recommended_retrieval_mode_text TEXT,
recommended_retry_after TEXT,
cc TEXT,
bcc TEXT,
total_bytes INTEGER DEFAULT 0,
image_count INTEGER DEFAULT 0,
vcard_count INTEGER DEFAULT 0,
audio_count INTEGER DEFAULT 0,
video_count INTEGER DEFAULT 0,
slides_duration INTEGER DEFAULT 0,
muted INTEGER DEFAULT 0,
answered INTEGER DEFAULT 0,
locked INTEGER DEFAULT 0,
app_id TEXT,
msg_id TEXT,
resp_id TEXT,
status TEXT,
raw_status TEXT,
service_center TEXT,
locked_by_fwk INTEGER DEFAULT 0,
creator TEXT DEFAULT ‘com.android.mms’,
last_resp_txt TEXT,
send_timestamp INTEGER DEFAULT 0 NOT NULL,
expire_on INTEGER DEFAULT 0 NOT NULL
);
“`
MMS表共包括69個列屬性,下面就對其中一些關鍵屬性進行展開簡述。
1. _id
表明該彩信在短信數據庫中的唯一標識符。
2. thread_id
表明該彩信的會話ID,用于將一組彩信歸為一組,表現為同一個聯系人或一組聊天記錄。
3. date
表明該彩信的日期和時間,時間戳格式,單位是毫秒。
4. msg_box
表示該彩信所在的信箱,值為1或2或3,1表示收件箱,2表示發(fā)件箱,3表示草稿箱。
5. sub
表示該彩信的主題,包含文本內容。
6. m_id
表示該彩信在彩信數據包中的唯一標識符。
7. read
表示該彩信是否已讀,0為未讀,1為已讀。
8. m_type
表示該彩信的類型,值為132或130。
9. m_size
表示該彩信的大小,以字節(jié)為單位。
三、Threads表
簡介:Threads表用于存儲與所有聯系人的短信聊天記錄,可以將多條短信映射到同一個主題下,從而保證歸納短信記錄的流暢性。
表結構:
“`
sqlite> .schema threads
CREATE TABLE threads (
_id INTEGER PRIMARY KEY,
date INTEGER DEFAULT 0,
message_count INTEGER DEFAULT 0,
recipient_ids TEXT,
snippet TEXT,
snippet_cs INTEGER DEFAULT 0,
read INTEGER DEFAULT 1,
type INTEGER DEFAULT 0,
error INTEGER DEFAULT 0,
has_attachment BOOLEAN DEFAULT 0,
draft BOOLEAN DEFAULT 0,
reply_sequence_number INTEGER DEFAULT 0,
status INTEGER DEFAULT -1,
last_message_date_sent INTEGER,
recipient_names TEXT,
archived BOOLEAN DEFAULT 0,
thread_account TEXT,
thread_account_type TEXT,
thread_account_id TEXT,
merge_key TEXT,
forward_message_number TEXT,
include_eml_addresses BOOLEAN DEFAULT 0,
preview_image TEXT,
preview_image_uri TEXT,
s_service_center TEXT,
mms_subject TEXT,
mms_subject_cs INTEGER DEFAULT 0,
group_number TEXT,
group_max_count INTEGER DEFAULT 0,
group_delivery_date INTEGER DEFAULT 0,
group_delivery_receipt_count INTEGER DEFAULT 0,
group_read_receipt_count INTEGER DEFAULT 0,
group_response_count INTEGER DEFAULT 0,
group_subject TEXT,
group_subject_cs INTEGER DEFAULT 0,
group_type INTEGER DEFAULT 0,
group_id INTEGER DEFAULT 0,
notification_enabled BOOLEAN DEFAULT 1,
notification_sound_uri TEXT,
notification_vibrate BOOLEAN DEFAULT 1,
notification_blink BOOLEAN DEFAULT 1,
wallpaper TEXT,
wallpaper_uri TEXT,
mute BOOLEAN DEFAULT 0,
archive_status BOOLEAN DEFAULT 0,
priority INTEGER DEFAULT 0,
raw_message_size LONG DEFAULT 0,
forward_status INTEGER DEFAULT 0
);
“`
Threads表共包括47個列屬性,下面就對其中一些關鍵屬性進行展開簡述。
1. _id
表明該會話在數據庫中的唯一標識符。
2. date
表明該會話的最近更新時間,持續(xù)時間格式,單位是毫秒。
3. message_count
表明該會話內的短信數量。
4. recipient_ids
表明該會話涉及到的聯系人ID,以逗號分隔。
5. snippet
表明該會話的簡略信息。
6. read
表明該會話內的短信是否已讀,0為未讀,1為已讀。
7. type
表明該會話的類型,值為0或1或2,0表示普通會話,1表示廣告會話,2表示群組會話。
8. thread_account
表明該會話所屬的賬戶名。
9. mute
表明該會話是否免打擾,0為不免打擾,1為免打擾。
綜上所述,我們可以進一步了解Android系統(tǒng)中短信數據庫表結構的概況,如果想要深入開發(fā)與利用該功能進行相關應用場景的實現,建議進一步學習SQLite數據庫的相關規(guī)范和語法,從而更好地促進Android系統(tǒng)的應用開發(fā)。
相關問題拓展閱讀:
- android怎樣實現用代碼從數據庫獲取短信內容等等
- android 19高版本怎么寫短信數據庫
android怎樣實現用代碼從數據庫獲取短信內容等等
數據庫獲取代碼如下:
String databaseFilename = DATABASE_PATH + “/” + DATABASE_NAME;
File dir = new File(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
InputStream is = context.getResources().openRawResource(R.raw.jobexam);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte buffer = new byte;
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
is.close();
}
db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
通常分享功能是調用者發(fā)起的,如果是文字分享調用都需要做
intent.putExtra(Intent.EXTRA_SUBJECT, “分享”);
intent.putExtra(Intent.EXTRA_TEXT, “好東西,與您分享!”);
傳遞這兩個參數,接收都就拿這兩個值就可以了。
android 19高版本怎么寫短信數據庫
高版本好像只能本身的可以操作,第三方都沒有權限了
關于android 短信數據庫表結構的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯,2H2G首月10元開通。
創(chuàng)新互聯(www.cdcxhl.com)互聯網服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網站系統(tǒng)開發(fā)經驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
網站名稱:Android短信數據庫表結構詳解(android短信數據庫表結構)
標題來源:http://fisionsoft.com.cn/article/ccdpppg.html


咨詢
建站咨詢
