湖北民族學(xué)院信息工程學(xué)院 林俊存 張 華 譚 偉
基于互聯(lián)網(wǎng)的手機通訊錄的研究與實現(xiàn)
湖北民族學(xué)院信息工程學(xué)院 林俊存 張 華 譚 偉
本系統(tǒng)采用Eclipse+Android+sdk+ Cordova集成開發(fā)環(huán)境,運用Java 語言編程,使得用戶只需通過手機瀏覽器就能實現(xiàn)任何時間,任何地方,任何手機撥打您所急需的聯(lián)系人,一般使用時不需要下載任何手機app,主要解決了手機丟失,手機不在,手機關(guān)機等各種情況下需要對聯(lián)系人進行及時的撥打,新建或者分享他人等需求。及解決了我們對手機客戶端的依賴及手機系統(tǒng)的跨平臺性,是一個面向所有用戶的WebApp網(wǎng)頁軟件,使我們對聯(lián)系人的獲取及其他功能的操作變得更簡單,更實用,更及時。
SSH整合;Cordova;JAVA語言;手機通訊錄;移動互聯(lián)網(wǎng)
如今在互聯(lián)網(wǎng)技術(shù)的帶動下,大數(shù)據(jù)及云端技術(shù)得到了快速發(fā)展,而手機面向這種技術(shù)將成為手機科技發(fā)展的必定趨勢,手機是人們在生活中必不可少的工具,其設(shè)計的最初目的與最為重要的功能是為了方便聯(lián)系。我們不得不承認(rèn)百度云盤的出現(xiàn)是一件多么美妙的事,但我們并不想下載手機客戶端來存放我們的聯(lián)系人,在某種情況下它是沒有多大意義的。
近幾年來,隨著移動通信智能終端的普及和通信終端功能的不斷增強,用戶已經(jīng)可以隨時隨地使用移動終端登錄和訪問互聯(lián)網(wǎng)上的各種社區(qū)網(wǎng)站;另外,移動通信終端都存儲有通訊錄,現(xiàn)在大部分基于手機通訊錄的應(yīng)用也主要是針對因用戶手機丟失而引起用戶信息損失的通訊錄備份功能,完全忽視了通訊錄所代表和隱藏的潛在的社會網(wǎng)絡(luò)關(guān)系。手機通訊錄可以說是我們手機中最重要的應(yīng)用功能之一,特別是我們在更換手機的時候,首先要做的就是把舊手機上面的聯(lián)系人更新到新手機上面去,以前碰到這個問題我們可能用得最多的是通過復(fù)制到SIM卡,再從SIM卡復(fù)制到新手機的方式,但是這個方法往往會受到數(shù)量以及新舊手機聯(lián)系人不兼容的問題,并且最重要的是這個方法很慢?,F(xiàn)在的你還怕手機不在身邊時找不到聯(lián)系人嗎?你還怕在緊急情況下聯(lián)系不上要聯(lián)系的人嗎?你還在擔(dān)心手機沒電了手機丟失了怎么聯(lián)系別人嗎?
1.1 軟件系統(tǒng)結(jié)構(gòu)
本軟件采用BS結(jié)構(gòu),用戶使用瀏覽器即可登錄使用軟件。服務(wù)器部分包括web服務(wù)和數(shù)據(jù)庫服務(wù),web服務(wù)基于tomcat+java,功能模塊包括查詢子功能,添加子功能,導(dǎo)入子功能,導(dǎo)出子功能,查看更多子功能,數(shù)據(jù)庫服務(wù)使用MySQL數(shù)據(jù)庫。隨時通小助手應(yīng)用主要是為了解決用戶進行導(dǎo)入或?qū)С龉δ埽渲饕δ転椋海?)用戶可選擇一個或多個聯(lián)系人導(dǎo)入到手機本地的電話本中。(2)用戶可選擇一個或多個聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫中。
圖1 基于互聯(lián)網(wǎng)的手機通訊錄系統(tǒng)功能模塊圖
1.2 運行環(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ù)庫:版本5.0。
目前客戶端所需要的支持軟件為android2.3以上手機瀏覽器。
1.3 軟件功能簡介
1.3.1 查詢子功能
用戶登錄成功后第一個進入的頁面,改頁面將顯示用戶保存在數(shù)據(jù)庫中所有的聯(lián)系人,可進行快速查找,模糊查找相關(guān)的聯(lián)系人,還可以對聯(lián)系人進行編輯和刪除。
1.3.2 添加子功能
用戶可進行在線添加相關(guān)的聯(lián)系人,所添加的聯(lián)系人將保存到數(shù)據(jù)庫中。
1.3.3 導(dǎo)入子功能
用戶進入導(dǎo)入頁面后,可以掃一掃二維碼或點擊下載按鈕下載隨時通小助手,打開小助手將手機上的聯(lián)系人導(dǎo)入到系統(tǒng)的數(shù)據(jù)庫中。
1.3.4 導(dǎo)出子功能
用戶進入導(dǎo)出頁面后,可以掃一掃二維碼或點擊下載按鈕下載隨時通小助手,打開小助手將系統(tǒng)數(shù)據(jù)庫中的聯(lián)系人導(dǎo)出的手機本地。
1.3.5 查看更多子功能
該頁面中包含的功能有:設(shè)置,修改密碼,聯(lián)系我們,推薦給好友,意見反饋,個人信息。
1.3.6 隨時通小助手
隨時通小助手是一個android小應(yīng)用,主要功能是:①獲取手機本地上的聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫中,有選擇性的導(dǎo)出一個或多個;②將系統(tǒng)數(shù)據(jù)庫的聯(lián)系人導(dǎo)入到手機本地,有選擇性的導(dǎo)入一個或多個。
2.1 開發(fā)技術(shù)分析與實現(xiàn)
Android 的開發(fā)工具包( Android SDK) 作為Android的軟件包以及軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合,能夠完成手機通訊錄系統(tǒng)人機交互的設(shè)計和良好界面的開發(fā)。
Eclipse 是一個開放源代碼的Java 可擴展開發(fā)平臺。在本系統(tǒng)開發(fā)過程中,通過插件組件構(gòu)建開發(fā)環(huán)境,ADT 是Android 在Eclipse 上的開發(fā)工具,安裝ADT 可以為Android 系統(tǒng)開發(fā)提供開發(fā)工具的升級或變更。
軟件的整體系統(tǒng)架構(gòu)為:Jsp+struts2+Spring+hibernate3+MySQ L+Tomcat。前端界面技術(shù):Jsp+html+css+js,在Jsp文件中嵌入布局文件css,及控制文件JScript,使得整個系統(tǒng)界面UI適合更多手機屏幕,將電腦瀏覽器布局移植到手機上,具有較好的用戶體驗。
后臺技術(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框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernate架構(gòu)實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。
設(shè)計模式:該系統(tǒng)采用 MVC設(shè)計模式,MVC模式的目的是實現(xiàn)一種動態(tài)的程序設(shè)計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復(fù)利用成為可能。MVC的優(yōu)點:1.低耦合性,視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼2.高重用性和可適用性。3.較低的生命周期成本。4.快速的部署和WEB應(yīng)用更易于維護和修改。5.有利于軟件工程化管理.
數(shù)據(jù)庫和服務(wù)器技術(shù):采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL 5.0,MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言,并發(fā)數(shù)達(dá)到上萬條訪問量,數(shù)據(jù)庫重要信息采用MD5進行加密,可以防止用戶信息泄露和木馬等病毒入侵盜取用戶信息;Web服務(wù)器為Tomcat 7.0,其屬于輕量級應(yīng)用服務(wù)器,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,是開發(fā)和調(diào)試JSP 程序的首選。
隨時通小助手應(yīng)用技術(shù):采用的是移動開發(fā)框架Cordova,它提供了一組設(shè)備相關(guān)的API,通過這組API,移動應(yīng)用能夠以JavaScript訪問原生的設(shè)備功能,如攝像頭、麥克風(fēng)等,使得開發(fā)本地app變成開發(fā)HTML開發(fā),同時它還是一個跨平臺框架,大大減少了開發(fā)成本和降低了開發(fā)難度,這種框架的出現(xiàn)必定成為未來移動開發(fā)的發(fā)展趨勢。
2.2 數(shù)據(jù)庫分析與設(shè)計
數(shù)據(jù)庫模塊主要用于存放聯(lián)系人的資料,以及完成對聯(lián)系人的增、刪、改、查工作。基于互聯(lián)網(wǎng)的手機通訊錄系統(tǒng)涉及到的實體主要有用戶登錄信息、用戶個人信息、用戶反饋信息、用戶聯(lián)系人列表信息。因此,數(shù)據(jù)庫至少需要四個模塊。
(1)用戶登錄信息主要是記錄相關(guān)的用戶名和密碼,在登錄注冊時使用,如表一所示:
表一
(2)用戶個人信息用來保存用戶的姓名,公司,賬號等信息,如表二所示:
表二
(3)用戶反饋信息,主要保存用戶提出的意見和反饋內(nèi)容,使得開發(fā)者及時修改系統(tǒng)的問題,如表三所示:
表三
(4)用戶聯(lián)系人列表是存放每個用戶保存的相關(guān)聯(lián)系人,如表四所示:
表四
2.3 系統(tǒng)業(yè)務(wù)流程與詳細(xì)設(shè)計
基于互聯(lián)網(wǎng)的手機通訊錄系統(tǒng)是一個集Web、數(shù)據(jù)庫、移動終端為一體的應(yīng)用程序。服務(wù)器啟動后,用戶可以通過手機瀏覽器使用本系統(tǒng)。輸入服務(wù)器的http網(wǎng)址后,在登錄界面中輸入賬號和密碼進行登錄系統(tǒng)。
(1)用戶進入手機通訊管理系統(tǒng)后,會看到聯(lián)系人列表主菜單,頁面頂部是搜索欄,用戶可快速查找,模糊查找,中部是聯(lián)系人的顯示,用戶可以翻閱顯示的聯(lián)系人,還可以進行編輯和刪除,最下方為功能菜單欄,分別為查詢,添加,導(dǎo)入,導(dǎo)出,更多。如果是第一次登陸,系統(tǒng)會提示用戶當(dāng)前沒有聯(lián)系人,請?zhí)砑踊驅(qū)肼?lián)系人,在查詢界面我們可以對聯(lián)系人模糊查詢,編輯和刪除。
(2)點擊“添加”按鈕即可添加聯(lián)系人,用戶填好聯(lián)系人姓名,電話號碼后點擊“點擊添加”按鈕進行保存,點擊“重置”按鈕重新輸入信息。
(3)點擊導(dǎo)入導(dǎo)出按鈕進入對于界面,用戶可以進行聯(lián)系人的導(dǎo)入導(dǎo)出操作,用戶可以點擊“下載”按鈕下載隨時通小助手,或掃一掃頁面中的二維碼進行下載,下載后打開應(yīng)用進行聯(lián)系人的導(dǎo)入;
(4)用戶點擊“更多”按鈕后進入“個人中心”界面,該頁面的功能有:個人信息,意見反饋,推薦給好友,聯(lián)系我們,修改密碼,設(shè)置和退出當(dāng)前賬號。①個人信息:填寫用戶相關(guān)的信息,比如姓名,性別,公司,頭像,推薦人賬號等,用戶填好相關(guān)個人資料后點擊“保存”按鈕即可;②意見反饋:用戶點擊“意見反饋”按鈕進入界面,在頁面上顯示用戶賬號,發(fā)表時間,反饋內(nèi)容,用戶填寫反饋內(nèi)容后點擊“提交”按鈕進行保存即可。③用戶推薦:用戶點擊“推薦給好友”按鈕進入界面,用戶可通過二維碼掃描或者朋友圈,微信,QQ,QQ空間進行分享給他人。④聯(lián)系我們:進入界面可看到開發(fā)者的相關(guān)聯(lián)系方式。⑤修改密碼:用戶點擊“修改密碼”按鈕進入密碼修改頁面,用戶填入正確的舊密碼及新密碼,點擊“確認(rèn)提交”按鈕進行修改,如果填入的舊密碼不正確,提示修改失敗,需重新輸入。如果用戶忘記密碼,可短信驗證碼找回。⑥設(shè)置:用戶可進行下載設(shè)置,接收推送設(shè)置,版本查看及更新操作。
(5)隨時通小助手應(yīng)用。
1)Cordova簡介:Cordova是從PhoneGap中抽出的核心代碼,是驅(qū)動PhoneGap的核心引擎。cordova是一款開源的手機應(yīng)用開發(fā)平臺,它僅僅只用HTML和JavaScript語言就可以制作出能在多個移動設(shè)備上運行的應(yīng)用。cordova將移動設(shè)備本身提供的復(fù)雜的API進行了抽象和簡化,提供了一系列豐富的API供開發(fā)者調(diào)用,只要你會HTML和Javascript或 者Java語言,就可以利用cordova提供的API去調(diào)用各種功能,制作出在各種手機平臺(iPhone,Android,BlackBerry,Symbian,Palm,Window Phone)上運行的應(yīng)用。簡單來說使用cordova就是使用HTML,JavaScript和CSS來開發(fā)程序,最終通過cordova可以產(chǎn)生對應(yīng)版本的native 程序。
2)應(yīng)用設(shè)計與實現(xiàn):
隨時通小助手應(yīng)用采用跨平臺框架cordova來開發(fā),用戶輸入在使用系統(tǒng)時所注冊的賬號和密碼,點擊“登錄”按鈕,如賬號密碼不正確重新登錄。登錄成功后進入主界面:該界面的功能主要有:導(dǎo)入到手機和導(dǎo)出到服務(wù)器。①當(dāng)用戶點擊“導(dǎo)入到手機”按鈕后,先是通過網(wǎng)絡(luò)和服務(wù)器通信(使用HTTP協(xié)議,POST請求方式),然后到數(shù)據(jù)庫里查找相關(guān)的聯(lián)系人,將聯(lián)系人通過JSON格式返回給android應(yīng)用,最后在頁面上顯示給用戶,用戶可選擇一個或多個聯(lián)系人導(dǎo)入到手機本地的電話本中。小助手會先請求服務(wù)器獲取該賬號的所有聯(lián)系人,然后顯示在界面中,用戶選擇好要導(dǎo)入的聯(lián)系人后,點擊“確認(rèn)導(dǎo)入”按鈕即可。②當(dāng)用戶點擊“導(dǎo)出到服務(wù)器”按鈕后,android應(yīng)用先使用cordova框架通過JavaScript調(diào)用手機系統(tǒng)的API獲取手機上的聯(lián)系人,最后顯示在界面上,用戶可選擇一個或多個聯(lián)系人導(dǎo)出到系統(tǒng)數(shù)據(jù)庫中。小助手會先獲取你手機手機上的所有聯(lián)系人,然后顯示在界面中,用戶選擇好要導(dǎo)出的聯(lián)系人后,點擊“確認(rèn)導(dǎo)出”按鈕即可。
在互聯(lián)網(wǎng)技術(shù)的帶動下,讓我們開發(fā)與研究方向不斷的發(fā)生改變,現(xiàn)人們的生活節(jié)奏越來越快使得許多軟件朝著界面簡潔易操作、軟件實用的方向發(fā)展,移動互聯(lián)網(wǎng)技術(shù)的成熟與發(fā)展改變了人們的衣食住行,而跨平臺框架和HTML等技術(shù)的出現(xiàn)與傳統(tǒng)框架形成了兩個對立的局面,從開發(fā)的成本到用戶體驗來看,目前都各有自己的優(yōu)缺點,但我們不可否認(rèn)移動互聯(lián)網(wǎng)新型技術(shù)的出現(xiàn)顛覆了整個IT行業(yè)乃至其他相關(guān)聯(lián)的行業(yè),甚至有可能在不久的將來壟斷了移動開發(fā)時代。順應(yīng)這樣的趨勢,本文設(shè)計了一款基于互聯(lián)網(wǎng)的界面簡潔、操作上方便、功能上齊全的手機通訊錄,使得用戶只需通過手機瀏覽器就能實現(xiàn)任何時間,任何地方,任何手機撥打您所急需的聯(lián)系人,還可以對聯(lián)系人的添加,修改,導(dǎo)入,導(dǎo)出,分享等功能,小助手應(yīng)用采用了Cordova跨平臺框架,大大降低了開發(fā)成本和時間,解決了我們對手機客戶端的依賴及手機系統(tǒng)的跨平臺性,是一個面向所有用戶的WebApp網(wǎng)頁軟件,使我們對聯(lián)系人的獲取及其他功能的操作變得更簡單,更實用,更及時。
[1]李剛.輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)[M].電子工業(yè)出版社,2011.
[2]李剛.瘋狂Android講義[M].電子工業(yè)出版社,2015.
[3]Andrew Lunny,劉明駿.PhoneGap開發(fā)指南[M].人民郵電出版社,2012.
[4]李翠娟.基于Android平臺的即時通信系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2012.
[5]劉建.基于Android 的手機通訊錄開發(fā)的探究與實現(xiàn)[J].電子測試,2013(08).
張華(指導(dǎo)老師)(1978—),男,湖北來鳳人,碩士生,主要研究方向:大數(shù)據(jù)算法。
譚偉(1996—),男,湖北巴東人,本科生,主要研究方向:C/C++算法。
林俊存(1994—),男,海南樂東人,本科生,主要研究方向:JAVA。
2016年湖北民族學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(201610517011)。