孫紅麗 葉斌



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