湖北民族學(xué)院信息工程學(xué)院 林俊存 張 華 譚 偉
基于互聯(lián)網(wǎng)的手機(jī)通訊錄的研究與實(shí)現(xiàn)
湖北民族學(xué)院信息工程學(xué)院 林俊存 張 華 譚 偉
本系統(tǒng)采用Eclipse+Android+sdk+ Cordova集成開發(fā)環(huán)境,運(yùn)用Java 語(yǔ)言編程,使得用戶只需通過(guò)手機(jī)瀏覽器就能實(shí)現(xiàn)任何時(shí)間,任何地方,任何手機(jī)撥打您所急需的聯(lián)系人,一般使用時(shí)不需要下載任何手機(jī)app,主要解決了手機(jī)丟失,手機(jī)不在,手機(jī)關(guān)機(jī)等各種情況下需要對(duì)聯(lián)系人進(jìn)行及時(shí)的撥打,新建或者分享他人等需求。及解決了我們對(duì)手機(jī)客戶端的依賴及手機(jī)系統(tǒng)的跨平臺(tái)性,是一個(gè)面向所有用戶的WebApp網(wǎng)頁(yè)軟件,使我們對(duì)聯(lián)系人的獲取及其他功能的操作變得更簡(jiǎn)單,更實(shí)用,更及時(shí)。
SSH整合;Cordova;JAVA語(yǔ)言;手機(jī)通訊錄;移動(dòng)互聯(lián)網(wǎng)
如今在互聯(lián)網(wǎng)技術(shù)的帶動(dòng)下,大數(shù)據(jù)及云端技術(shù)得到了快速發(fā)展,而手機(jī)面向這種技術(shù)將成為手機(jī)科技發(fā)展的必定趨勢(shì),手機(jī)是人們?cè)谏钪斜夭豢缮俚墓ぞ撸湓O(shè)計(jì)的最初目的與最為重要的功能是為了方便聯(lián)系。我們不得不承認(rèn)百度云盤的出現(xiàn)是一件多么美妙的事,但我們并不想下載手機(jī)客戶端來(lái)存放我們的聯(lián)系人,在某種情況下它是沒(méi)有多大意義的。
近幾年來(lái),隨著移動(dòng)通信智能終端的普及和通信終端功能的不斷增強(qiáng),用戶已經(jīng)可以隨時(shí)隨地使用移動(dòng)終端登錄和訪問(wèn)互聯(lián)網(wǎng)上的各種社區(qū)網(wǎng)站;另外,移動(dòng)通信終端都存儲(chǔ)有通訊錄,現(xiàn)在大部分基于手機(jī)通訊錄的應(yīng)用也主要是針對(duì)因用戶手機(jī)丟失而引起用戶信息損失的通訊錄備份功能,完全忽視了通訊錄所代表和隱藏的潛在的社會(huì)網(wǎng)絡(luò)關(guān)系。手機(jī)通訊錄可以說(shuō)是我們手機(jī)中最重要的應(yīng)用功能之一,特別是我們?cè)诟鼡Q手機(jī)的時(shí)候,首先要做的就是把舊手機(jī)上面的聯(lián)系人更新到新手機(jī)上面去,以前碰到這個(gè)問(wèn)題我們可能用得最多的是通過(guò)復(fù)制到SIM卡,再?gòu)腟IM卡復(fù)制到新手機(jī)的方式,但是這個(gè)方法往往會(huì)受到數(shù)量以及新舊手機(jī)聯(lián)系人不兼容的問(wèn)題,并且最重要的是這個(gè)方法很慢。現(xiàn)在的你還怕手機(jī)不在身邊時(shí)找不到聯(lián)系人嗎?你還怕在緊急情況下聯(lián)系不上要聯(lián)系的人嗎?你還在擔(dān)心手機(jī)沒(méi)電了手機(jī)丟失了怎么聯(lián)系別人嗎?
1.1 軟件系統(tǒng)結(jié)構(gòu)
本軟件采用BS結(jié)構(gòu),用戶使用瀏覽器即可登錄使用軟件。服務(wù)器部分包括web服務(wù)和數(shù)據(jù)庫(kù)服務(wù),web服務(wù)基于tomcat+java,功能模塊包括查詢子功能,添加子功能,導(dǎo)入子功能,導(dǎo)出子功能,查看更多子功能,數(shù)據(jù)庫(kù)服務(wù)使用MySQL數(shù)據(jù)庫(kù)。隨時(shí)通小助手應(yīng)用主要是為了解決用戶進(jìn)行導(dǎo)入或?qū)С龉δ?,其主要功能為:?)用戶可選擇一個(gè)或多個(gè)聯(lián)系人導(dǎo)入到手機(jī)本地的電話本中。(2)用戶可選擇一個(gè)或多個(gè)聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫(kù)中。

圖1 基于互聯(lián)網(wǎng)的手機(jī)通訊錄系統(tǒng)功能模塊圖
1.2 運(yùn)行環(huán)境
服務(wù)器配置:(1)CPU: 1GHz Pentium 4及以上 ;(2)內(nèi)存:1G及以上;(3)硬盤:建議20G以上。
服務(wù)器支持軟件:(1)操作系統(tǒng):android及iOS,PC;(2)JAVA支持環(huán)境:版本7;(3)Tomcat服務(wù)器:版本7;(4)MySQL數(shù)據(jù)庫(kù):版本5.0。
目前客戶端所需要的支持軟件為android2.3以上手機(jī)瀏覽器。
1.3 軟件功能簡(jiǎn)介
1.3.1 查詢子功能
用戶登錄成功后第一個(gè)進(jìn)入的頁(yè)面,改頁(yè)面將顯示用戶保存在數(shù)據(jù)庫(kù)中所有的聯(lián)系人,可進(jìn)行快速查找,模糊查找相關(guān)的聯(lián)系人,還可以對(duì)聯(lián)系人進(jìn)行編輯和刪除。
1.3.2 添加子功能
用戶可進(jìn)行在線添加相關(guān)的聯(lián)系人,所添加的聯(lián)系人將保存到數(shù)據(jù)庫(kù)中。
1.3.3 導(dǎo)入子功能
用戶進(jìn)入導(dǎo)入頁(yè)面后,可以掃一掃二維碼或點(diǎn)擊下載按鈕下載隨時(shí)通小助手,打開小助手將手機(jī)上的聯(lián)系人導(dǎo)入到系統(tǒng)的數(shù)據(jù)庫(kù)中。
1.3.4 導(dǎo)出子功能
用戶進(jìn)入導(dǎo)出頁(yè)面后,可以掃一掃二維碼或點(diǎn)擊下載按鈕下載隨時(shí)通小助手,打開小助手將系統(tǒng)數(shù)據(jù)庫(kù)中的聯(lián)系人導(dǎo)出的手機(jī)本地。
1.3.5 查看更多子功能
該頁(yè)面中包含的功能有:設(shè)置,修改密碼,聯(lián)系我們,推薦給好友,意見(jiàn)反饋,個(gè)人信息。
1.3.6 隨時(shí)通小助手
隨時(shí)通小助手是一個(gè)android小應(yīng)用,主要功能是:①獲取手機(jī)本地上的聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫(kù)中,有選擇性的導(dǎo)出一個(gè)或多個(gè);②將系統(tǒng)數(shù)據(jù)庫(kù)的聯(lián)系人導(dǎo)入到手機(jī)本地,有選擇性的導(dǎo)入一個(gè)或多個(gè)。
2.1 開發(fā)技術(shù)分析與實(shí)現(xiàn)
Android 的開發(fā)工具包( Android SDK) 作為Android的軟件包以及軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合,能夠完成手機(jī)通訊錄系統(tǒng)人機(jī)交互的設(shè)計(jì)和良好界面的開發(fā)。
Eclipse 是一個(gè)開放源代碼的Java 可擴(kuò)展開發(fā)平臺(tái)。在本系統(tǒng)開發(fā)過(guò)程中,通過(guò)插件組件構(gòu)建開發(fā)環(huán)境,ADT 是Android 在Eclipse 上的開發(fā)工具,安裝ADT 可以為Android 系統(tǒng)開發(fā)提供開發(fā)工具的升級(jí)或變更。
軟件的整體系統(tǒng)架構(gòu)為:Jsp+struts2+Spring+hibernate3+MySQ L+Tomcat。前端界面技術(shù):Jsp+html+css+js,在Jsp文件中嵌入布局文件css,及控制文件JScript,使得整個(gè)系統(tǒng)界面UI適合更多手機(jī)屏幕,將電腦瀏覽器布局移植到手機(jī)上,具有較好的用戶體驗(yàn)。
后臺(tái)技術(shù):SSH整合,集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來(lái)實(shí)現(xiàn)Java類與數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和訪問(wèn),最后由Spring做管理,管理struts和hibernate。
設(shè)計(jì)模式:該系統(tǒng)采用 MVC設(shè)計(jì)模式,MVC模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。MVC的優(yōu)點(diǎn):1.低耦合性,視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼2.高重用性和可適用性。3.較低的生命周期成本。4.快速的部署和WEB應(yīng)用更易于維護(hù)和修改。5.有利于軟件工程化管理.
數(shù)據(jù)庫(kù)和服務(wù)器技術(shù):采用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL 5.0,MySQL所使用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言,并發(fā)數(shù)達(dá)到上萬(wàn)條訪問(wèn)量,數(shù)據(jù)庫(kù)重要信息采用MD5進(jìn)行加密,可以防止用戶信息泄露和木馬等病毒入侵盜取用戶信息;Web服務(wù)器為Tomcat 7.0,其屬于輕量級(jí)應(yīng)用服務(wù)器,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,是開發(fā)和調(diào)試JSP 程序的首選。
隨時(shí)通小助手應(yīng)用技術(shù):采用的是移動(dòng)開發(fā)框架Cordova,它提供了一組設(shè)備相關(guān)的API,通過(guò)這組API,移動(dòng)應(yīng)用能夠以JavaScript訪問(wèn)原生的設(shè)備功能,如攝像頭、麥克風(fēng)等,使得開發(fā)本地app變成開發(fā)HTML開發(fā),同時(shí)它還是一個(gè)跨平臺(tái)框架,大大減少了開發(fā)成本和降低了開發(fā)難度,這種框架的出現(xiàn)必定成為未來(lái)移動(dòng)開發(fā)的發(fā)展趨勢(shì)。
2.2 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)
數(shù)據(jù)庫(kù)模塊主要用于存放聯(lián)系人的資料,以及完成對(duì)聯(lián)系人的增、刪、改、查工作?;诨ヂ?lián)網(wǎng)的手機(jī)通訊錄系統(tǒng)涉及到的實(shí)體主要有用戶登錄信息、用戶個(gè)人信息、用戶反饋信息、用戶聯(lián)系人列表信息。因此,數(shù)據(jù)庫(kù)至少需要四個(gè)模塊。
(1)用戶登錄信息主要是記錄相關(guān)的用戶名和密碼,在登錄注冊(cè)時(shí)使用,如表一所示:

表一
(2)用戶個(gè)人信息用來(lái)保存用戶的姓名,公司,賬號(hào)等信息,如表二所示:

表二
(3)用戶反饋信息,主要保存用戶提出的意見(jiàn)和反饋內(nèi)容,使得開發(fā)者及時(shí)修改系統(tǒng)的問(wèn)題,如表三所示:

表三
(4)用戶聯(lián)系人列表是存放每個(gè)用戶保存的相關(guān)聯(lián)系人,如表四所示:

表四
2.3 系統(tǒng)業(yè)務(wù)流程與詳細(xì)設(shè)計(jì)
基于互聯(lián)網(wǎng)的手機(jī)通訊錄系統(tǒng)是一個(gè)集Web、數(shù)據(jù)庫(kù)、移動(dòng)終端為一體的應(yīng)用程序。服務(wù)器啟動(dòng)后,用戶可以通過(guò)手機(jī)瀏覽器使用本系統(tǒng)。輸入服務(wù)器的http網(wǎng)址后,在登錄界面中輸入賬號(hào)和密碼進(jìn)行登錄系統(tǒng)。
(1)用戶進(jìn)入手機(jī)通訊管理系統(tǒng)后,會(huì)看到聯(lián)系人列表主菜單,頁(yè)面頂部是搜索欄,用戶可快速查找,模糊查找,中部是聯(lián)系人的顯示,用戶可以翻閱顯示的聯(lián)系人,還可以進(jìn)行編輯和刪除,最下方為功能菜單欄,分別為查詢,添加,導(dǎo)入,導(dǎo)出,更多。如果是第一次登陸,系統(tǒng)會(huì)提示用戶當(dāng)前沒(méi)有聯(lián)系人,請(qǐng)?zhí)砑踊驅(qū)肼?lián)系人,在查詢界面我們可以對(duì)聯(lián)系人模糊查詢,編輯和刪除。
(2)點(diǎn)擊“添加”按鈕即可添加聯(lián)系人,用戶填好聯(lián)系人姓名,電話號(hào)碼后點(diǎn)擊“點(diǎn)擊添加”按鈕進(jìn)行保存,點(diǎn)擊“重置”按鈕重新輸入信息。
(3)點(diǎn)擊導(dǎo)入導(dǎo)出按鈕進(jìn)入對(duì)于界面,用戶可以進(jìn)行聯(lián)系人的導(dǎo)入導(dǎo)出操作,用戶可以點(diǎn)擊“下載”按鈕下載隨時(shí)通小助手,或掃一掃頁(yè)面中的二維碼進(jìn)行下載,下載后打開應(yīng)用進(jìn)行聯(lián)系人的導(dǎo)入;
(4)用戶點(diǎn)擊“更多”按鈕后進(jìn)入“個(gè)人中心”界面,該頁(yè)面的功能有:個(gè)人信息,意見(jiàn)反饋,推薦給好友,聯(lián)系我們,修改密碼,設(shè)置和退出當(dāng)前賬號(hào)。①個(gè)人信息:填寫用戶相關(guān)的信息,比如姓名,性別,公司,頭像,推薦人賬號(hào)等,用戶填好相關(guān)個(gè)人資料后點(diǎn)擊“保存”按鈕即可;②意見(jiàn)反饋:用戶點(diǎn)擊“意見(jiàn)反饋”按鈕進(jìn)入界面,在頁(yè)面上顯示用戶賬號(hào),發(fā)表時(shí)間,反饋內(nèi)容,用戶填寫反饋內(nèi)容后點(diǎn)擊“提交”按鈕進(jìn)行保存即可。③用戶推薦:用戶點(diǎn)擊“推薦給好友”按鈕進(jìn)入界面,用戶可通過(guò)二維碼掃描或者朋友圈,微信,QQ,QQ空間進(jìn)行分享給他人。④聯(lián)系我們:進(jìn)入界面可看到開發(fā)者的相關(guān)聯(lián)系方式。⑤修改密碼:用戶點(diǎn)擊“修改密碼”按鈕進(jìn)入密碼修改頁(yè)面,用戶填入正確的舊密碼及新密碼,點(diǎn)擊“確認(rèn)提交”按鈕進(jìn)行修改,如果填入的舊密碼不正確,提示修改失敗,需重新輸入。如果用戶忘記密碼,可短信驗(yàn)證碼找回。⑥設(shè)置:用戶可進(jìn)行下載設(shè)置,接收推送設(shè)置,版本查看及更新操作。
(5)隨時(shí)通小助手應(yīng)用。
1)Cordova簡(jiǎn)介:Cordova是從PhoneGap中抽出的核心代碼,是驅(qū)動(dòng)PhoneGap的核心引擎。cordova是一款開源的手機(jī)應(yīng)用開發(fā)平臺(tái),它僅僅只用HTML和JavaScript語(yǔ)言就可以制作出能在多個(gè)移動(dòng)設(shè)備上運(yùn)行的應(yīng)用。cordova將移動(dòng)設(shè)備本身提供的復(fù)雜的API進(jìn)行了抽象和簡(jiǎn)化,提供了一系列豐富的API供開發(fā)者調(diào)用,只要你會(huì)HTML和Javascript或 者Java語(yǔ)言,就可以利用cordova提供的API去調(diào)用各種功能,制作出在各種手機(jī)平臺(tái)(iPhone,Android,BlackBerry,Symbian,Palm,Window Phone)上運(yùn)行的應(yīng)用。簡(jiǎn)單來(lái)說(shuō)使用cordova就是使用HTML,JavaScript和CSS來(lái)開發(fā)程序,最終通過(guò)cordova可以產(chǎn)生對(duì)應(yīng)版本的native 程序。
2)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn):
隨時(shí)通小助手應(yīng)用采用跨平臺(tái)框架cordova來(lái)開發(fā),用戶輸入在使用系統(tǒng)時(shí)所注冊(cè)的賬號(hào)和密碼,點(diǎn)擊“登錄”按鈕,如賬號(hào)密碼不正確重新登錄。登錄成功后進(jìn)入主界面:該界面的功能主要有:導(dǎo)入到手機(jī)和導(dǎo)出到服務(wù)器。①當(dāng)用戶點(diǎn)擊“導(dǎo)入到手機(jī)”按鈕后,先是通過(guò)網(wǎng)絡(luò)和服務(wù)器通信(使用HTTP協(xié)議,POST請(qǐng)求方式),然后到數(shù)據(jù)庫(kù)里查找相關(guān)的聯(lián)系人,將聯(lián)系人通過(guò)JSON格式返回給android應(yīng)用,最后在頁(yè)面上顯示給用戶,用戶可選擇一個(gè)或多個(gè)聯(lián)系人導(dǎo)入到手機(jī)本地的電話本中。小助手會(huì)先請(qǐng)求服務(wù)器獲取該賬號(hào)的所有聯(lián)系人,然后顯示在界面中,用戶選擇好要導(dǎo)入的聯(lián)系人后,點(diǎn)擊“確認(rèn)導(dǎo)入”按鈕即可。②當(dāng)用戶點(diǎn)擊“導(dǎo)出到服務(wù)器”按鈕后,android應(yīng)用先使用cordova框架通過(guò)JavaScript調(diào)用手機(jī)系統(tǒng)的API獲取手機(jī)上的聯(lián)系人,最后顯示在界面上,用戶可選擇一個(gè)或多個(gè)聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫(kù)中。小助手會(huì)先獲取你手機(jī)手機(jī)上的所有聯(lián)系人,然后顯示在界面中,用戶選擇好要導(dǎo)出的聯(lián)系人后,點(diǎn)擊“確認(rèn)導(dǎo)出”按鈕即可。
在互聯(lián)網(wǎng)技術(shù)的帶動(dòng)下,讓我們開發(fā)與研究方向不斷的發(fā)生改變,現(xiàn)人們的生活節(jié)奏越來(lái)越快使得許多軟件朝著界面簡(jiǎn)潔易操作、軟件實(shí)用的方向發(fā)展,移動(dòng)互聯(lián)網(wǎng)技術(shù)的成熟與發(fā)展改變了人們的衣食住行,而跨平臺(tái)框架和HTML等技術(shù)的出現(xiàn)與傳統(tǒng)框架形成了兩個(gè)對(duì)立的局面,從開發(fā)的成本到用戶體驗(yàn)來(lái)看,目前都各有自己的優(yōu)缺點(diǎn),但我們不可否認(rèn)移動(dòng)互聯(lián)網(wǎng)新型技術(shù)的出現(xiàn)顛覆了整個(gè)IT行業(yè)乃至其他相關(guān)聯(lián)的行業(yè),甚至有可能在不久的將來(lái)壟斷了移動(dòng)開發(fā)時(shí)代。順應(yīng)這樣的趨勢(shì),本文設(shè)計(jì)了一款基于互聯(lián)網(wǎng)的界面簡(jiǎn)潔、操作上方便、功能上齊全的手機(jī)通訊錄,使得用戶只需通過(guò)手機(jī)瀏覽器就能實(shí)現(xiàn)任何時(shí)間,任何地方,任何手機(jī)撥打您所急需的聯(lián)系人,還可以對(duì)聯(lián)系人的添加,修改,導(dǎo)入,導(dǎo)出,分享等功能,小助手應(yīng)用采用了Cordova跨平臺(tái)框架,大大降低了開發(fā)成本和時(shí)間,解決了我們對(duì)手機(jī)客戶端的依賴及手機(jī)系統(tǒng)的跨平臺(tái)性,是一個(gè)面向所有用戶的WebApp網(wǎng)頁(yè)軟件,使我們對(duì)聯(lián)系人的獲取及其他功能的操作變得更簡(jiǎn)單,更實(shí)用,更及時(shí)。
[1]李剛.輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)[M].電子工業(yè)出版社,2011.
[2]李剛.瘋狂Android講義[M].電子工業(yè)出版社,2015.
[3]Andrew Lunny,劉明駿.PhoneGap開發(fā)指南[M].人民郵電出版社,2012.
[4]李翠娟.基于Android平臺(tái)的即時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012.
[5]劉建.基于Android 的手機(jī)通訊錄開發(fā)的探究與實(shí)現(xiàn)[J].電子測(cè)試,2013(08).
張華(指導(dǎo)老師)(1978—),男,湖北來(lái)鳳人,碩士生,主要研究方向:大數(shù)據(jù)算法。
譚偉(1996—),男,湖北巴東人,本科生,主要研究方向:C/C++算法。
林俊存(1994—),男,海南樂(lè)東人,本科生,主要研究方向:JAVA。
2016年湖北民族學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201610517011)。