android 常用的資料庫表以及操作說明

2021-08-31 08:36:05 字數 3805 閱讀 4514

android  常用資料表操作總結

1:聯絡歷史表

表名:calls

表的主要字段說明:

欄位名字段型別 備註

_id 

integer 

記錄標識

number 

text

**號碼

date 

integer

通話時間( 注意是乙個整形 )

duration 

integer

**時長

new 

integer

name 

text

聯絡人type

integer

**狀態(1 :打進來的**, 2 :打出的**, 3 :未接** )

主要操作的涉及的**:

查詢系統聯絡歷史

private

cursor 

queryallcallsinfo()

根據**刪除系統聯絡歷史

public

intdeletesyscallinfosbynum(string number)

2:簡訊記錄表

表名:sms

主要字段說明:

欄位名字段型別 備註

_id 

integer 

記錄標識

thread_id

integer

對話的序號(conversation )

address

text

發件人位址,手機號

person

integer

發件人,返回乙個數字就是聯絡人列表裡的序號,陌生人為null (但是我檢視系統存在聯絡人一下錶該字段為 null )

date 

integer

傳送簡訊的時間

read 

integer 

是否閱讀

status

integer

狀態(估計與閘道器的狀態)

type

integer

型別 1 是接收到的, 2 是發出的

body

text

訊息體內容

service_center

text

簡訊中心號碼

主要操作涉及的**

查詢系統簡訊記錄

/*** 查詢系統所有收件箱簡訊記錄 * 

@return */

private

cursor queryallinboxsmsinfo()

/*** 查詢所有發件箱簡訊的內容 * 

@return */

private

cursor queryallsentsmsinfo()

刪除系統簡訊的方法

/*** 刪除簡訊記錄 * 

@param

threadid 簡訊的會話記錄 * 

@return */

public

intdeletesysmessagebythreadid(

long

threadid)

3:聯絡人表

表名:contacts

主要欄位的說明:

欄位名字段型別 備註

_id 

integer 

記錄標識,通過該欄位找到響應其他表裡面聯絡人詳細資訊

display_name

text

聯絡人姓名

has_phone_number

integer 

是否有**號碼,沒有為0 ,有幾個就返回幾個

具體建立的sql資料

create table contacts 

(_id integer primary key autoincrement,display_name text,

photo_id integer references data(_id),

custom_ringtone text,

send_to_voicemail integer not null default 0,

times_contacted integer not null default 0,last_time_contacted integer,

starred integer not null default 0,in_visible_group integer not null default 1,

has_phone_number integer not null default 0,

lookup text,status_update_id integer references data(_id),

single_is_restricted integer not null default 0)

主要涉及的操作**:

查詢所有的聯絡資訊

public

void

getcontact() {

uri uri = contactscontract.contacts.

content_uri;

cursor cursor = getcontentresolver().query(uri, 

null

, null

, null

, null);

if(cursor.movetofirst()) {

intidcolumnindex = cursor

.getcolumnindex(contactscontract.contacts.

_id);

system.

out.println(

"-------idcolumnindex----------:"

+ idcolumnindex);

intdisplaynamecolumnindex = cursor

.getcolumnindex(contactscontract.contacts.

display_name);

system.

out.println(

"--------------displaynamecolumnindex------"

+ displaynamecolumnindex); do

{ // 獲取聯絡人的id號

string contactid = cursor.getstring(idcolumnindex);

system.

out.println(

"---------contactid-------"

+ contactid);

// 獲取聯絡人姓名

string displayname = cursor.getstring(displaynamecolumnindex);

system.

out.println(

"--------------displayname-----"

+ displayname);

// 檢視該聯絡人有多少個**號碼。如果沒有這返回值為0

intphonecount = cursor

.getint(cursor

.getcolumnindex(contactscontract.contacts.

has_phone_number

));

if(phonecount > 0) {

//如果只想查詢手機號碼的話就只執行下面的**

// //

cursor phones = mcontext.getcontentresolver().query(

//null,

//

Android系統自帶的常用資料庫

data data com.android.providers.contacts databases contacts2.db1.當需要讀取聯絡歷史的時候,需要用到系統的資料庫,現在需要去檢視原始碼android清單檔案 路徑 android 7.0.0 r1 packages providers ...

資料庫表常用連線

資料庫表常用連線 右連線 右外鏈結 將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值與右表連線 以右表為主 select from ltable l right join rtable r on l.id r.id 左連線 左外鏈結 將返回左表的所有行。如果左表的某行在右表中...

MySQL資料庫 資料庫 表 資料常用操作

建立資料庫 create database 資料庫名 顯示所有可訪問資料庫 show databases 顯示當前選中的資料庫 select database 刪除資料庫 drop database 資料庫名 建立表 create table table name id int not null a...