孫紅麗 葉斌
摘要:通訊錄是管理人們直接通訊信息的工具,Android技術(shù)的迅速發(fā)展為手機(jī)通訊錄提供技術(shù)支持?;谀壳昂芏嗤ㄓ嶄涇浖δ芑ㄉ?,界面繁復(fù),導(dǎo)致用戶不知道一些功能如何使用,去哪兒使用,制作一款簡(jiǎn)單基本的手機(jī)通訊錄很有必要。本文設(shè)計(jì)了一款利用Android技術(shù)開發(fā)的手機(jī)通訊錄,主要包括撥號(hào)、聯(lián)系人、信息和設(shè)置四個(gè)功能模塊,并進(jìn)行了技術(shù)實(shí)現(xiàn)。
關(guān)鍵詞:手機(jī)通訊錄;數(shù)據(jù)庫設(shè)計(jì);模塊結(jié)構(gòu)
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1003-6970.2015.05.025
0 引言
近年來移動(dòng)互聯(lián)網(wǎng)的蓬勃發(fā)展促使了傳統(tǒng)工業(yè)向現(xiàn)代化工業(yè)的轉(zhuǎn)型,且有超越PC互聯(lián)網(wǎng)的趨勢(shì),而手機(jī)是實(shí)現(xiàn)移動(dòng)互聯(lián)最主要的載體,設(shè)計(jì)手機(jī)的初衷就是為了實(shí)現(xiàn)人們之間遠(yuǎn)距離通訊,而通訊錄就是管理人們之間通訊信息的工具,使通訊變得更加便捷。Android技術(shù)的飛速發(fā)展,為基于Android的手機(jī)通訊錄提供了技術(shù)支持。本軟件基于Android開發(fā),依據(jù)Google提供的接口文檔,利用Android MVC三層架構(gòu)模式,采用簡(jiǎn)單易行C/S結(jié)構(gòu),利用SqLite數(shù)據(jù)庫和Java語言,實(shí)現(xiàn)了人們通訊的需求。
1 通訊錄系統(tǒng)設(shè)計(jì)
1.1 通信錄功能結(jié)構(gòu)設(shè)計(jì)
根據(jù)系統(tǒng)功能分析,本系統(tǒng)總體上分為撥號(hào)、聯(lián)系人、信息、設(shè)置四個(gè)模塊。其中撥號(hào)模塊主要有撥打電話、全部通話、已撥電話、已接電話、電話攔截、全部清除功能;而聯(lián)系人模塊,展示所有的聯(lián)系人,又有新建、搜索、導(dǎo)入、刪除及修改聯(lián)系人等功能;信息模塊首先展示所有的信息,然后又有新建信息、刪除信息、撥打電話等功能;最后一個(gè)是設(shè)置模塊,主要功能有我的名片、撥號(hào)設(shè)置、本地備份、云備份、意見反饋、幫助、關(guān)于手機(jī)通訊錄等功能。系統(tǒng)總體結(jié)構(gòu)如圖l所示。
1.2 系統(tǒng)使用數(shù)據(jù)庫的設(shè)計(jì)
本通信錄系統(tǒng)操作的對(duì)象是聯(lián)系人和信息,這些信息就存儲(chǔ)在系統(tǒng)的SqLite數(shù)據(jù)庫中,這個(gè)數(shù)據(jù)庫由手機(jī)的開發(fā)商在開發(fā)手機(jī)的時(shí)候就建立完成。要訪問系統(tǒng)數(shù)據(jù)庫,必須了解Android通訊錄中的表的構(gòu)造。此數(shù)據(jù)庫一般命名為contacts.db或者contacts2.db。數(shù)據(jù)庫contacts2.db中重要的四個(gè)表為:contacts,data,phone lookup和raw contacts。
1)Cotacts為通訊錄表
該表保存了所有的手機(jī)測(cè)聯(lián)系人,每個(gè)聯(lián)系人占一行,該表保存了聯(lián)系人的ContactlD、聯(lián)系次數(shù)、最后一次聯(lián)系的時(shí)間、是否含有號(hào)碼、是否被添加到收藏夾等信息。主要字段如表1所示。
2)data表為數(shù)據(jù)表
該表保存了所有創(chuàng)建過的手機(jī)測(cè)聯(lián)系人的所有信息,該表保存了兩個(gè)ID:MimeTypelD和RawContactID,從而將data表和raw contacts表聯(lián)系起來。聯(lián)系人的所有信息保存在列datal至data15中,各列中保存的內(nèi)容根據(jù)MimeTypelD的不同而不同。主要字段如表2所示。
3)Phone lookupd電話號(hào)碼結(jié)果表
表示查找一個(gè)電話號(hào)碼的結(jié)果,例如來電顯示。主要字段如表3所示。
4)Raw contacts表
該表為原始聯(lián)系人的常數(shù)表,所有用戶創(chuàng)建過的聯(lián)系人信息都保存在該表中,表里有一個(gè)字段標(biāo)示的是該聯(lián)系人是否被刪除,聯(lián)系人的信息主要存儲(chǔ)在contacts和raw contacts表中,這兩個(gè)表通過RawContactID和ContactID關(guān)聯(lián)在一起。主要字段如下表4所示。
2 系統(tǒng)的實(shí)現(xiàn)
Android聯(lián)系人是Google API中的Contacts類來管理的,開發(fā)者可以通過通用資源標(biāo)示符URI去訪問系統(tǒng)Sqlite數(shù)據(jù)庫,然后返回聯(lián)系人的信息。用到了Android四大組件中的內(nèi)容提供者(contractProvider),簡(jiǎn)化了應(yīng)用層和數(shù)據(jù)庫的連接,將訪問數(shù)據(jù)庫抽象為增、刪、改、查等接口。
2.1 撥號(hào)模塊
該模塊主要功能為撥打電話,輸入電話號(hào)碼的一部分,可以按照輸入的部分電話號(hào)碼匹配整個(gè)電話號(hào)碼,并且以列表的形式顯示所有通話記錄、已撥電話記錄、已接電話記錄、未接電話記錄、清除列表功能,這可以提高用戶打電話的效率。打電話主要是調(diào)用系統(tǒng)的自身的Intent對(duì)象,然后進(jìn)入系統(tǒng)的打電話界面,相關(guān)代碼為:
2.2 聯(lián)系人模塊
該模塊主界面以列表的形式顯示聯(lián)系人圖片、姓名、電話號(hào)碼等信息。右側(cè)顯示“A-Z”的拼音索引,滑動(dòng)索引或者點(diǎn)擊某個(gè)字母,中部列表展示對(duì)應(yīng)字母開頭的聯(lián)系人信息,并且可以在搜索框中搜索指定的聯(lián)系人。
2.3 信息模塊
該模塊主要是對(duì)信息及會(huì)話的操作。主要包括展示所有信息、與某個(gè)好友的詳細(xì)信息記錄、在原有信息的基礎(chǔ)上發(fā)送信息、撥打電話、清除信息、新建新的信息、以及添加一個(gè)或多個(gè)聯(lián)系人等操作。
2.4 設(shè)置模塊
該模塊主要是關(guān)于個(gè)人信息以及通信錄的一些常用操作:我的資料、快速撥號(hào)、本地備份、云備份、意見反饋和關(guān)于通信,其中,我的資料和一個(gè)手機(jī)號(hào)碼關(guān)聯(lián),可以設(shè)置自己的頭像,快速撥號(hào)是將一些常用的電話與簡(jiǎn)單的數(shù)字如“1”、“2”、“3”等。然后直接按這些數(shù)字就可以匹配到對(duì)應(yīng)的聯(lián)系人。本地備份將聯(lián)系人備份到本地的內(nèi)存卡中。云備份將聯(lián)系人備份到云服務(wù)器中。意見反饋主要是回饋給本人關(guān)于該軟件的意見和建議。關(guān)于通訊錄,介紹一下關(guān)于該通訊錄的版本,介紹等詳細(xì)信息。
3 小結(jié)
移動(dòng)互聯(lián)網(wǎng)飛速發(fā)展,客戶端種類繁多。為適應(yīng)生活節(jié)奏越來越快,目前很多軟件朝著界面簡(jiǎn)單、內(nèi)容實(shí)用方向發(fā)展。順應(yīng)這一趨勢(shì),本文設(shè)計(jì)實(shí)現(xiàn)的手機(jī)通訊錄界面簡(jiǎn)單大方、功能齊全,是一款基于通信錄的打電話、發(fā)短息軟件,實(shí)現(xiàn)了撥號(hào)、通訊錄、短息和設(shè)置等功能。本軟件以Android為開發(fā)手段,實(shí)現(xiàn)了對(duì)系統(tǒng)聯(lián)系人的操作及顯示,從而實(shí)現(xiàn)了基于Android的通信錄的設(shè)置與實(shí)現(xiàn)。隨本軟件應(yīng)用推廣發(fā)展,本軟件還有拓展功能需要進(jìn)一步開發(fā),如比號(hào)碼歸屬地查詢、智能撥號(hào)、智能查找等等。