版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著社會(huì)各行業(yè)的不斷發(fā)展,面對(duì)種類繁多的社交名片,面對(duì)面的交換紙質(zhì)名片已經(jīng)很難跟上現(xiàn)代化、無紙化管理的步伐,而當(dāng)今計(jì)算機(jī)和智能手機(jī)的飛速發(fā)展彌補(bǔ)了這些缺陷,運(yùn)用現(xiàn)代化手段進(jìn)行科學(xué)管理,已經(jīng)成為名片交換和保存亟待解決的課題之一。本軟件以Eclipse為開發(fā)工具,利用Java語言,通過對(duì)Android平臺(tái)的系統(tǒng)架構(gòu)和應(yīng)用程序進(jìn)行學(xué)習(xí),設(shè)計(jì)出一款基于Android的電子名片管理軟件。本軟件實(shí)現(xiàn)的功能不僅包括電子名片的添加、修改、刪除、查詢功能,而且實(shí)現(xiàn)了拍照識(shí)別紙質(zhì)名片,掃描識(shí)別二維碼名片,注冊(cè)登錄,互傳分享電子名片,備份和恢復(fù)電子名片夾等功能,滿足用戶對(duì)電子名片夾的需求。本軟件的設(shè)計(jì)遵循標(biāo)準(zhǔn)的開發(fā)流程,首先進(jìn)行需求分析,然后確定電子名片夾的功能,再編寫程序的代碼,調(diào)試程序,運(yùn)行程序,并對(duì)程序進(jìn)行優(yōu)化完善。本軟件利用Android提供的各種組件對(duì)界面進(jìn)行設(shè)計(jì),能夠很好地支持用戶體驗(yàn)。關(guān)鍵詞:Android,電子名片,二維碼
TheDesignandImplementationofElectronicBusinessCardManagerBasedonAndroidAbstractWiththecontinuousdevelopmentofsocialvarioussectors,socialbusinesscardhasmoreandmorekinds.Face-to-faceexchangeofpapercardishardtokeepupwiththepaceofthemodernizationandpaperlessmanagement.Therapiddevelopmentofcomputersandsmartphonesmakesupforthesedeficiencies.Theuseofmodernmeansofscientificmanagementhasbecomeoneofthemostimportanttopicstoexchangebusinesscardsandsave.ThesoftwarebasesonEclipse,usestheJavalanguage.DesignersstudybytheAndroidplatform’ssystemarchitectureandapplicationandthendesignanelectronicbusinesscardmanagementsoftwarebasesonAndroid.Thefunctionsofthesoftwareincludenotonlytheaddition,modification,deletion,searchfunctionsofe-card,butalsoachieveaphotographidentificationpaperbusinesscard,atwo-dimensionalcodescanningidentificationcards,registrationandlanding,sharingelectronicbusinesscards,backupandrestoreelectronicbusinesscard.Thesefunctionswillsatisfyusers’theneedsofElectroniccardholder.Thesoftwareisdesignedfollowingthestandardsofdevelopmentprocess.Itbeginswithaneedsanalysis,andthendeterminesthefunctionofelectronicbusinesscardholder,andthenwritesprogramcode,debugs,runstheprogram,andoptimizestheprogram.DesigningtheinterfacebyusingthevariouscomponentsoftheAndroid,thesoftwarecangreatlyoptimizetheusers’experience.Keywords:Android,Electronicbusinesscard,Two-dimensionalcode 第緒論1.1引言生活節(jié)奏日益增快的今天,網(wǎng)絡(luò)已經(jīng)深入社會(huì),信息成為了非常重要的資源。人們對(duì)信息的認(rèn)識(shí)和運(yùn)用漸漸廣泛。從傳統(tǒng)的信件郵遞發(fā)展成Email,從逛商場(chǎng)購物到網(wǎng)上下單送貨上門,傳統(tǒng)的熱弄信息管理系統(tǒng)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足快節(jié)奏、高效率的現(xiàn)代生活需要,落后的管理技術(shù)阻礙了信息的交流與共享。同時(shí),網(wǎng)絡(luò)技術(shù)的普及,如何通過網(wǎng)絡(luò)來實(shí)現(xiàn)對(duì)科技信息的遠(yuǎn)程訪問與遠(yuǎn)程管理,從而實(shí)現(xiàn)對(duì)信息的交流與共享成為當(dāng)務(wù)之急。隨著社會(huì)各行業(yè)的不斷發(fā)展,面對(duì)種類繁多的社交名片,面對(duì)面的交換紙質(zhì)名片已經(jīng)很難跟上現(xiàn)代化、無紙化管理的步伐,而當(dāng)今計(jì)算機(jī)和手機(jī)通訊技術(shù)的飛速發(fā)展彌補(bǔ)了這些缺陷,運(yùn)用現(xiàn)代化手段進(jìn)行科學(xué)管理,已經(jīng)成為名片交換和保存亟待解決的課題之一。電子名片管理器可以實(shí)現(xiàn)名片信息的綠色無紙化管理和保存。伴隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來越多的人將個(gè)人信息與Internet融合在一起,當(dāng)人們因各種因素需要更換名片信息的時(shí)候,需要重新制作名片,難免造成了資源浪費(fèi)。本系統(tǒng)就是在這樣一個(gè)社會(huì)背景下開發(fā)的。本軟件可以極大的提高名片管理效率,在設(shè)計(jì)時(shí)充分考慮了用戶的方便與靈活性,既能實(shí)現(xiàn)對(duì)名片夾信息的高效管理和控制,又能滿足用戶對(duì)二維碼電子名片的需求。最重要的是,它顛覆了傳統(tǒng)通訊錄方式和名片的綠色無紙化管理。1.2課題研究背景1.2.1課題背景隨著社會(huì)發(fā)展的日新月異,商業(yè)來往日漸廣泛。人與人之間的交往也日益頻繁,于是,人們手中便出現(xiàn)了名目繁多的通訊錄、名址錄、名片夾等對(duì)好友或者客戶進(jìn)行管理的工具,但是,一張張名片上的信息雖然不多,卻占據(jù)了很大的空間;同時(shí),這些傳統(tǒng)的手動(dòng)管理方式存在著不易更新、不易存放、容易丟失、難以備份等重大缺陷;而建立自己的電子文檔對(duì)名片進(jìn)行管理雖然客服了以上的缺點(diǎn),但是查詢效率低,特別是當(dāng)數(shù)據(jù)量十分龐大時(shí),劣勢(shì)更加明顯。隨著商務(wù)通的出現(xiàn),雖然實(shí)現(xiàn)了可構(gòu)造查詢條件的名片電子化管理,但價(jià)格昂貴,難以在廣大客戶中進(jìn)行全面普及。隨著安卓智能手機(jī)的普及,因此開發(fā)一個(gè)既可以存儲(chǔ)信息,又具有更新、查詢等功能,同時(shí)價(jià)格又能為廣大消費(fèi)者接受的多功能安卓電子名片管理器就顯得十分必要。1.2.2研究方法本軟件采用三層架構(gòu)MVC模式進(jìn)行設(shè)計(jì)。MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,所謂MVC模式,是用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。Model(模型)是應(yīng)用程序中用戶處理應(yīng)用程序數(shù)據(jù)邏輯的部分。通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller(控制器)是應(yīng)用程序中處理用戶交互的部分。通??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC分層有助于管理復(fù)雜的應(yīng)用程序,可以在一個(gè)時(shí)間內(nèi)專門關(guān)注一個(gè)方面。例如,可以在不依賴業(yè)務(wù)邏輯的情況下專注于視圖設(shè)計(jì)。同時(shí)也讓應(yīng)用程序的測(cè)試更加容易。而本軟件也正是遵循MVC模式的核心思想來進(jìn)行工作的,用戶通過多種方式把好友的名片信息存儲(chǔ)在數(shù)據(jù)庫中,用戶每次進(jìn)入電子名片夾中,將會(huì)從數(shù)據(jù)庫中把好友的全部信息讀取出來,顯示在視圖布局中,用戶可以點(diǎn)擊每張電子名片上的相應(yīng)信息去查看或者聯(lián)系好友。1.2.3研究工具軟件開發(fā)工具為Eclipse,開發(fā)環(huán)境:jdk1.7,開發(fā)語言:java。Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。其特點(diǎn):(1)從編寫、查錯(cuò)、編譯、幫助等等各方面為Java語言貼身定做。(2)可無限擴(kuò)展的強(qiáng)大插件功能。(3)眾多公司、廠商、組織的鼎立支持。(4)開放,自由,免費(fèi)。后臺(tái)數(shù)據(jù)庫為MySQL,優(yōu)點(diǎn)主要有:它使用的核心線程是完全多線程,支持多處理器。它通過一個(gè)高度優(yōu)化的類庫實(shí)現(xiàn)SQL函數(shù)庫并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。MySQL可以工作在不同的平臺(tái)上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。1.3設(shè)計(jì)意義當(dāng)今社會(huì)是一個(gè)信息化的社會(huì),在這個(gè)信息高速流通的社會(huì)中,網(wǎng)絡(luò)成了一種必不可少的渠道。它遍布全球,與人們的生活越來越密切。眼下,每個(gè)人由于交友需要會(huì)有多個(gè)賬號(hào)信息,多個(gè)手機(jī)號(hào)碼。而手機(jī)用戶又需要對(duì)應(yīng)的軟件來保存這些信息,不方便把一個(gè)人的信息統(tǒng)一起來?;谶@些需求和現(xiàn)狀,設(shè)計(jì)一款電子名片夾尤為重要,此款軟件是一款集所有好友信息于一身的應(yīng)用型軟件。在它的每張電子卡上,都保留了傳統(tǒng)手機(jī)通訊錄的功能,同時(shí)加入了QQ、微信等各種新興通訊方式的信息,既可以像紙質(zhì)名片一樣簡(jiǎn)單直觀的查看好友信息又可以取代紙質(zhì)名片。此款電子名片夾軟件最大的特點(diǎn)就是把好友各種與聯(lián)系方式有關(guān)的信息以電子卡片形式展示出來。一應(yīng)俱全的好友信息展示卡,永久的云備份存儲(chǔ),能讓用戶更快捷的掌握聯(lián)系人好友的信息。只需一個(gè)賬號(hào),便可進(jìn)行信息的互傳與分享。既保證綠色無紙化,又響應(yīng)國家的節(jié)能環(huán)保政策。“顛覆傳統(tǒng)通訊錄,告別紙質(zhì)名片”。根據(jù)課題研究的需求分析和市場(chǎng)上所流行的軟件的流程,本軟件基于網(wǎng)頁的方式進(jìn)行訪問,采用MVC模式。功能上涵蓋電子名片保存,共享互傳的整個(gè)過程,并具有以下優(yōu)點(diǎn)。無紙化。從名片信息的保存、修改、名片的互傳共享等均存儲(chǔ)在數(shù)據(jù)庫中,無需印制紙質(zhì)名片,電子名片夾可以云備份到服務(wù)端也無需資料夾等存放工具。不受時(shí)間限制。以往在名片交換的是時(shí)候,不管是名片制作或者交換時(shí)間的限制非常大,使用電子名片,用戶之間可以隨時(shí)隨地進(jìn)行名片的互傳。不受地點(diǎn)限制。在目前交換名片的時(shí)候,需要當(dāng)面進(jìn)行交換,使用電子名片,只要用戶有手機(jī),便可以輕松進(jìn)行名片的在線查看、編輯、修改、互傳名片。數(shù)據(jù)化。名片所有相關(guān)數(shù)據(jù)均存儲(chǔ)在數(shù)據(jù)庫中,在進(jìn)行名片信息存儲(chǔ)、電子名片查詢、名片交換互傳時(shí),相關(guān)數(shù)據(jù)均可在軟件中獲得。保密化。通過設(shè)計(jì)一個(gè)是否要開啟互傳交換名片開關(guān),用戶可以根據(jù)自己的實(shí)際情況,設(shè)置是否讓他們獲取自己的電子名片,有效的保護(hù)用戶隱私和信息安全。1.4國內(nèi)外研究現(xiàn)狀目前國內(nèi)做的比較好的一款A(yù)ndroid電子名片管理器是名片全能王,可快速、精準(zhǔn)識(shí)別多種語言名片,自動(dòng)存入通訊錄;為名片添加圖文、視頻,讓名片立體展示個(gè)人、產(chǎn)品、公司。隨時(shí)更新的商務(wù)人脈庫,幫助拜訪客戶,進(jìn)行客戶關(guān)系管理。但是它有很大的缺點(diǎn),電子名片管理還是脫離不了傳統(tǒng)通訊錄的束縛,不能快捷的看到用戶的個(gè)人信息,操作比較繁瑣;另外電子名片信息簡(jiǎn)單,缺少Q(mào)Q、微信、微博等新興社交方式。今年備受關(guān)注的Android5.0Lollipop[5]棒棒糖被Google發(fā)布,而以“卡片”為設(shè)計(jì)原型的MaterialDesign[5],希望在虛擬世界中模擬出物理世界當(dāng)中紙質(zhì)材質(zhì)的感覺,但又具備靈活伸縮、擴(kuò)展的特性,讓它顯得既靈動(dòng),又整齊。Google在虛擬世界里構(gòu)建了幾個(gè)突出,讓卡片、按鈕等視覺元素鋪在上面,而且還運(yùn)用陰影以及空間來突出內(nèi)容。Android5.0原聲的通訊錄則完全采用這樣的設(shè)計(jì),使得通訊錄更具人性化,紙質(zhì)化,電子卡片化。文獻(xiàn)[5]指出,Android5.0最大的變化在于UI用戶界面的設(shè)計(jì),全新的UI界面采用了“MaterialDesign”設(shè)計(jì)規(guī)范。這也是Android5.0最重要的一部分,Lollipop標(biāo)志著Google在用戶界面上已經(jīng)完全擁抱了MaterialDesign的理念,新的用戶界面更加簡(jiǎn)潔,色彩更加豐富,動(dòng)畫效果更加合理生動(dòng),同時(shí)加入實(shí)時(shí)陰影的3D視圖,更多地使用卡片風(fēng)格的顯示效果,這樣的效果就像是翻閱一本賞心悅目的畫冊(cè),在明亮純凈的底色之上是簡(jiǎn)單而優(yōu)雅的文字,讓上面的內(nèi)用有一種躍然紙上的感覺。
2可行性研究2.1技術(shù)可行性2.1.1硬件可行性軟件的硬件配置要求:支持Android操作系統(tǒng)的嵌入式平臺(tái)設(shè)備,支持wifi功能,帶觸摸屏功能。2.1.2軟件可行性本軟件是基于Android系統(tǒng)的一款手機(jī)應(yīng)用,在Android4.0及以上版本的安卓智能手機(jī)上運(yùn)行。2.1.3人員可行性對(duì)Java開發(fā)語言相對(duì)比較熟悉熟悉Eclipse的操作熟悉MySQL和AndroidSQLite數(shù)據(jù)庫并有過開發(fā)經(jīng)驗(yàn)2.2經(jīng)濟(jì)可行性2.2.1經(jīng)濟(jì)效益本軟件適用于商務(wù)人士等交換名片,管理名片等情況,為提高工作效率、降低人力物力成本為目的,間接方面能帶來一定的經(jīng)濟(jì)收益,并且本軟件的開發(fā)成本相對(duì)較低,無需購置額外硬件支持,總體來說效益遠(yuǎn)大于成本。2.2.2社會(huì)效益本軟件主要服務(wù)于社交頻繁的商務(wù)人士,在提高工作效率的同時(shí)并能實(shí)現(xiàn)名片交換和管理全程“綠色無紙化”,是一種快捷、新型、經(jīng)濟(jì)的處理手段,響應(yīng)國家的節(jié)能環(huán)保政策。2.3操作可行性用戶在首次進(jìn)入本軟件的時(shí)候,可以通過瀏覽歡迎引導(dǎo)界面之后便能夠熟練掌握本軟件的主要功能和使用操作;另外軟件也加入了目前市場(chǎng)主流的軟件中側(cè)邊導(dǎo)航元素,用戶可以一目了然地看到軟件的四大模塊,并且根據(jù)提示,快速上手使用。2.4法律可行性本軟件是在老師的指導(dǎo)下完全由本人設(shè)計(jì)和完成。提交的畢業(yè)設(shè)計(jì)《安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)》及相關(guān)設(shè)計(jì)內(nèi)容是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立研究、編寫、完成的,在開發(fā)時(shí)所利用的相關(guān)資料均已在參考文獻(xiàn)中列出。
3需求分析3.1概述3.1.1用戶特征使用本軟件的用戶群非常廣泛,它非常適用于具有如下特點(diǎn)的人員:(1)工作中與外界聯(lián)系非常頻繁;(2)可無限工作比較繁忙,惜時(shí)如金;(3)與外界的聯(lián)系成為開展工作的關(guān)鍵因素,信息丟失或損壞可能帶來嚴(yán)重?fù)p失;(4)社交賬戶多,需要賬戶信息管理。3.1.2條件和限制考慮到本軟件使用的廣泛性,在設(shè)計(jì)時(shí)應(yīng)注意軟件可適配目前市場(chǎng)上主流的480*800、720*1280、1280*1920三大屏幕分辨率的安卓智能手機(jī)。因?yàn)楸拒浖芾淼男畔賯€(gè)人隱私信息,必須注意信息的安全防范。同時(shí)應(yīng)以標(biāo)準(zhǔn)的數(shù)據(jù)形式來實(shí)現(xiàn)軟件功能,以方便數(shù)據(jù)的共享。3.2功能需求3.2.1用例圖用例圖是由參與者(Actor)、用例(UseCase)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。本軟件的用例圖如圖3.1會(huì)員用例圖和圖3.2游客用例圖所示:軟件的使用人員主要包括2種:會(huì)員和游客。會(huì)員的功能主要有:瀏覽電子名片夾信息功能;登錄功能;登錄后可以對(duì)個(gè)人信息進(jìn)行管理,包括生成二維碼名片、獲取用戶專屬ID號(hào)用于電子名片互傳共享等;對(duì)電子名片信息進(jìn)行管理,包括增加、刪除、編輯、查詢電子名片功能等;電子名片夾的云備份和云恢復(fù)功能;拍照識(shí)別名片功能;二維碼名片識(shí)別和生成功能。游客的功能主要有:注冊(cè)成為會(huì)員的功能;瀏覽電子名片夾信息功能;電子名片信息管理功能;拍照識(shí)別名片功能;二維碼名片識(shí)別和生成功能。圖3.1圖3.1會(huì)員用例圖圖3.2游客用例圖3.2.2功能描述根據(jù)用戶特征分析以及用例分析,本軟件主要包括12個(gè)功能模塊,分別為:瀏覽功能,查看詳細(xì)資料功能,電子名片信息管理功能(增加、刪除、修改、查詢功能),拍照識(shí)別紙質(zhì)名片功能,二維碼識(shí)別和生成功能,登錄注冊(cè)功能,電子名片夾云備份和云恢復(fù)功能,電子名片的互傳共享功能,幫助功能。(1)瀏覽功能=1\*GB3①以列表的方式列出所有的記錄(每項(xiàng)記錄只列出姓名、職位、單位、頭像);=2\*GB3②可點(diǎn)擊選定一項(xiàng)記錄,下拉顯示該記錄的所有域。(2)查看詳細(xì)資料功能顯示用戶選定記錄的詳細(xì)信息。(3)查詢功能=1\*GB3①用戶可以通過姓名匹配查詢;=2\*GB3②精確查詢或模糊查詢;=3\*GB3③單項(xiàng)查詢或組合查詢;(4)增加功能增加一條新的記錄,四種方式:=1\*GB3①掃二維碼添加;=2\*GB3②ID添加;=3\*GB3③拍照識(shí)別名片添加;=4\*GB3④手動(dòng)添加;(5)刪除功能刪除一條記錄,并且提供確認(rèn)機(jī)制。(6)修改功能修改任意一條記錄的所有域,其中姓名不能為空。(7)拍照識(shí)別紙質(zhì)名片功能用戶通過安卓手機(jī)拍照紙質(zhì)名片,快速獲取紙質(zhì)名片信息,并保存為電子名片。(8)二維碼名片的生成和識(shí)別功能軟件可以通過用戶輸入個(gè)人信息后,在線生成自己的二維碼名片,并可以讓其他用戶通過掃描添加。(9)登錄注冊(cè)功能對(duì)登錄用戶的身份進(jìn)行驗(yàn)證,通過者可以使用軟件云備份和云回復(fù)功能,以及掛載個(gè)人電子名片到云端供其他用戶下載。(10)電子名片夾的云備份和云恢復(fù)功能用戶可以把本地的電子名片夾數(shù)據(jù)在線備份到服務(wù)器中,更換設(shè)備或者丟失數(shù)據(jù)后,也可以在線恢復(fù)電子名片夾數(shù)據(jù)。(11)電子名片的互傳共享功能用戶之間可是通過互相掃描二維碼交換電子名片,也可以通過用戶賬戶ID一鍵獲取對(duì)方電子名片,便捷綠色無紙化的互傳共享。(12)幫助功能為用戶提供幫助,快捷便捷了解軟件功能和使用操作。3.3性能需求3.3.1數(shù)據(jù)準(zhǔn)確性查詢時(shí)應(yīng)保證查全率,所有相應(yīng)域包含查詢關(guān)鍵字的記錄都應(yīng)能查到;查詢時(shí)應(yīng)保證查準(zhǔn)率,查到的記錄應(yīng)與給定的單項(xiàng)或組合查詢條件完全匹配。3.3.2時(shí)間特性一般操作的響應(yīng)時(shí)間應(yīng)在1-2秒內(nèi),對(duì)掃描二維碼名片和拍照紙質(zhì)名片的操作,以及電子名片夾數(shù)據(jù)的備份和恢復(fù)也應(yīng)在可接受的時(shí)間內(nèi)完成。3.3.2適應(yīng)性滿足個(gè)人使用的需求;對(duì)前面提到的運(yùn)行環(huán)境要求不應(yīng)存在困難。
4系統(tǒng)設(shè)計(jì)4.1技術(shù)架構(gòu)設(shè)計(jì)安卓電子名片管理器選用MVC架構(gòu),使用Java語言。采用三層設(shè)計(jì)模式,通過Eclipse技術(shù)、JDBC技術(shù)、MySQl技術(shù)、SQlite技術(shù)、Servlet技術(shù)進(jìn)行設(shè)計(jì)。系統(tǒng)三層設(shè)計(jì)架構(gòu)如圖4.1所示。 圖4.1軟件三層架構(gòu)本軟件技術(shù)架構(gòu)具體設(shè)計(jì)如圖4.2所示。在本軟件中,軟件數(shù)據(jù)主要由實(shí)體層實(shí)現(xiàn)面向?qū)ο笏枷胫械摹胺庋b”,核心實(shí)體類設(shè)計(jì)了用戶注冊(cè)實(shí)體類RegisterActivity、編輯信息實(shí)體類PersonInfoActivity、名片夾實(shí)體類MainFragment、個(gè)人卡實(shí)體類PersonalCenterFragment、云同步實(shí)體類ShareFragment、設(shè)置實(shí)體類SettingFragment等。系統(tǒng)表示層主要由xml技術(shù)實(shí)現(xiàn),核心頁面上有用戶登錄頁面login_fragment.xml、用戶注冊(cè)頁面register_fragment.xml、電子名片夾頁面main_fragment.xml、個(gè)人卡頁面person_center_fragment.xml、設(shè)置頁面setting_fragment.xml、云同步頁面share_card_fragment.xml等。圖4.2軟件技術(shù)架構(gòu)4.2功能概要設(shè)計(jì)根據(jù)安卓電子名片管理器的需求分析和功能設(shè)計(jì)分析,軟件取名為萬友,即萬千朋友,也指這款軟件包括一個(gè)好友所有的聯(lián)系方式,每張電子名片上可以瀏覽到好友相關(guān)的聯(lián)系方式,同時(shí)方便用戶互相推薦使用。安卓電子名片管理器(以下簡(jiǎn)稱萬友)的功能概要設(shè)計(jì),如圖4.3所示。圖4.3功能概要設(shè)計(jì)圖根據(jù)功能概要設(shè)計(jì)圖得知,本軟件需設(shè)計(jì)四個(gè)模塊:萬友電子名片夾模塊、個(gè)人電子卡模塊、同步模塊、設(shè)置模塊。(1)萬友電子名片夾模塊萬友電子名片夾模塊主要包括添加、編輯、刪除電子名片(下稱萬有卡)、電子名片列表四個(gè)子模塊。在論文的功能需求分析中,四種添加電子名片的方式是本設(shè)計(jì)的重點(diǎn)也是難點(diǎn),其中的一種方式是拍照識(shí)別名片,用到的是OCR光學(xué)識(shí)別字符技術(shù);另外一種是通過ID添加,用戶通過注冊(cè)獲得用戶ID,這個(gè)ID是唯一標(biāo)識(shí)用戶身份的標(biāo)志,在這里稱為萬友號(hào),用戶可以根據(jù)這個(gè)ID用來獲取其他注冊(cè)用戶的電子名片信息。(2)個(gè)人電子卡模塊個(gè)人電子卡模塊主要包括編輯個(gè)人電子卡信息、個(gè)人電子卡展示、獲取萬友號(hào)、生成二維碼信息四個(gè)子模塊。(3)同步模塊同步模塊主要包括備份電子名片夾、恢復(fù)電子名片夾、上傳個(gè)人電子名片三個(gè)子模塊。(4)設(shè)置模塊設(shè)置模塊主要包括注冊(cè)賬戶、登錄賬戶、切換賬戶、幫助、推薦分享、萬友號(hào)開關(guān)等六個(gè)子模塊。4.3功能詳細(xì)設(shè)計(jì)本軟件涉及到的部分基礎(chǔ)數(shù)據(jù)相關(guān)類圖如圖所示。 圖4.4名片信息封裝類圖4.5名片夾適配器類 圖4.6個(gè)人卡類圖4.7設(shè)置類4.4數(shù)據(jù)庫設(shè)計(jì)本軟件涉及到的相關(guān)數(shù)據(jù)庫表設(shè)計(jì)如下所示。(1)客戶端電子名片信息資料表:該表主要用于存放名片的基本信息。設(shè)計(jì)如表4.1所示。表4.1電子名片信息資料表(cardmsg)字段名名稱類型索引_id(unsigned)integer姓名namevarchar(20)職位postvarchar(20)手機(jī)mobilePhonevarchar(20)郵箱emlvarchar(20)QQqqvarchar(20)個(gè)人網(wǎng)址urlvarchar(20)續(xù)表4.1電子名片信息資料表(cardmsg)字段名名稱類型微博weibovarchar(20)微信wechatvarchar(20)公司名稱companyvarchar(20)座機(jī)號(hào)碼telPhonevarchar(20)地址addressvarchar(20)頭像保存路徑headUrlvarchar(20)(2)服務(wù)端用戶管理表:該表主要用于存放用戶的賬戶信息和基本信息。設(shè)計(jì)如表4.2所示。表4.2服務(wù)端用戶管理表(cardinfo)字段名名稱類型用戶號(hào)user_namechar10密碼pass_wordchar8是否分享信息給其他用戶isSharechar8姓名namevarchar(20)職位postvarchar(20)手機(jī)mobilePhonevarchar(20)郵箱emlvarchar(20)QQqqvarchar(20)個(gè)人網(wǎng)址urlvarchar(20)微博weibovarchar(20)微信wechatvarchar(20)公司名稱companyvarchar(20)座機(jī)號(hào)碼telPhonevarchar(20)地址addressvarchar(20)
5軟件實(shí)現(xiàn)5.1服務(wù)端數(shù)據(jù)庫連接實(shí)現(xiàn)利用JDBC來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的連接和一般處理。具體實(shí)現(xiàn)數(shù)據(jù)庫連接的主要代碼如下:(1)調(diào)用Class.forName()方法加載驅(qū)動(dòng)程序:Class.forName("com.mysql.jdbc.Driver");(2)定義數(shù)據(jù)庫連接的地址,不同數(shù)據(jù)庫連接地址不一樣:StringmysqlURL="jdbc:mysql://localhost:port/dbname";(3)調(diào)用getConnection()方法建立連接:Connectionconn=DriverMannager.getConnection(URL,"數(shù)據(jù)庫用戶名","數(shù)據(jù)庫密碼");(4)使用createStatement方法創(chuàng)建Statement語句對(duì)象。(5)執(zhí)行數(shù)據(jù)庫語句:Statement提供了executeQuery、executeUpdate和execute三個(gè)方法,分別用于查詢語句、插入刪除修改語句和通用語句(既可查詢又可增刪改)。(6)對(duì)數(shù)據(jù)庫返回的結(jié)果集ResultSet進(jìn)行處理。(7)關(guān)閉連接,釋放資源。5.2軟件功能實(shí)現(xiàn)軟件界面設(shè)計(jì)整體色調(diào)樸素大方,標(biāo)題欄深灰藍(lán)色給人沉穩(wěn)大方的商務(wù)感覺,符合本應(yīng)用目標(biāo)人群;底色則采用8%灰色,給人最舒適的視覺感受。側(cè)邊導(dǎo)航欄設(shè)計(jì)符合用戶的使用習(xí)慣,方便用戶操作使用。5.2.1用戶注冊(cè)登錄模塊實(shí)現(xiàn)(1)用戶注冊(cè)軟件注冊(cè)界面如圖5.1、5.2所示。圖5.1注冊(cè)(輸入法不可見)界面圖5.2注冊(cè)(輸入法可見)注冊(cè)界面注冊(cè)界面各控件及其功能說明如表5.1所示。表5.1注冊(cè)界面各控件及其功能說明表控件控件名稱控件功能萬友號(hào)-EditText控件user_name_Et輸入注冊(cè)萬友號(hào)(用戶名)密碼-EditText控件pass_word_Et1輸入注冊(cè)密碼確認(rèn)密碼-EditText控件pass_word_Et2輸入注冊(cè)確認(rèn)密碼完成-Button按鈕ok_Bt完成注冊(cè)用戶想使用軟件的備份、恢復(fù)電子名片夾功能,需要先注冊(cè)。注冊(cè)時(shí)需要填寫萬友號(hào)即用戶名,密碼,確認(rèn)密碼,三項(xiàng)全部填寫完成后并通過驗(yàn)證后,點(diǎn)擊完成按鈕進(jìn)行注冊(cè)驗(yàn)證,如果驗(yàn)證通過,則提示注冊(cè)成功并跳轉(zhuǎn)到登錄界面,如果認(rèn)證失敗則提示錯(cuò)誤信息。注冊(cè)功能的邏輯實(shí)現(xiàn)為:客戶端獲取用戶的輸入內(nèi)容,并通過HttpGet方式把用戶輸入的萬友號(hào)和密碼發(fā)送給服務(wù)器Servlet,服務(wù)器獲取客戶端傳送過來的萬友號(hào)和密碼,從數(shù)據(jù)庫中查詢?nèi)f友號(hào)是否被注冊(cè)過,如果沒有找到相應(yīng)的數(shù)據(jù),則認(rèn)為注冊(cè)成功,返回注冊(cè)成功信息;如果找到有對(duì)應(yīng)的記錄,則認(rèn)為注冊(cè)失敗,返回注冊(cè)失敗信息??蛻舳薍ttpResponse接收并解析服務(wù)端返回來的數(shù)據(jù),通過判斷返回?cái)?shù)據(jù)提示用戶是否注冊(cè)成功。用戶注冊(cè)成功后,客戶端自動(dòng)跳轉(zhuǎn)到登錄界面。(2)用戶登錄軟件登錄界面如圖5.3、5.4所示。圖5.3登錄(輸入法不可見)界面圖5.4登錄(輸入法可見)界面登錄界面各控件及其功能說明如表5.2所示。表5.2登錄界面各控件及其功能說明表控件控件名稱控件功能萬友號(hào)-EditText控件user_name_Et輸入登錄萬友號(hào)(用戶名)密碼-EditText控件pass_word_Et輸入登錄密碼登錄-Button按鈕login_Bt完成登錄新注冊(cè)-Button按鈕register_Bt跳轉(zhuǎn)到注冊(cè)界面用戶在注冊(cè)成功后或者使用其他功能的時(shí)候,需要進(jìn)行登錄。用戶輸入萬友號(hào)和密碼,點(diǎn)擊登錄按鈕進(jìn)行登錄認(rèn)證,如果認(rèn)證通過則可以使用軟件的備份和恢復(fù)等功能,如果認(rèn)證失敗則會(huì)提示錯(cuò)誤信息。登錄功能的邏輯實(shí)現(xiàn)與注冊(cè)的邏輯實(shí)現(xiàn)類似,在此做簡(jiǎn)要概述,也是通過HttpGet方式攜帶登錄參數(shù)并發(fā)出登錄請(qǐng)求給服務(wù)器,服務(wù)器接受并處理請(qǐng)求數(shù)據(jù)并返回給客戶端登錄結(jié)果。通過登錄注冊(cè)可以看到,軟件做了人性化的設(shè)置,當(dāng)用戶使用登錄注冊(cè)功能時(shí),當(dāng)彈出輸入法的時(shí)候,輸入框會(huì)自動(dòng)向上移動(dòng),避免遮輸入法擋住輸入框,使得用戶輸入更加快捷方便。5.2.2側(cè)邊導(dǎo)航欄模塊實(shí)現(xiàn)軟件側(cè)邊導(dǎo)航界面如圖5.5所示。圖5.5側(cè)邊導(dǎo)航界面?zhèn)冗厡?dǎo)航界面各控件及其功能說明如表5.3所示。表5.3側(cè)邊導(dǎo)航界面各控件及其功能說明表控件控件名稱控件功能側(cè)邊導(dǎo)航-ResideMenu控件resideMenu控件顯示側(cè)邊導(dǎo)航萬友夾-ResideMenuItem控件mainItem顯示導(dǎo)航:萬友夾個(gè)人卡-ResideMenuItem控件personalCenterItem顯示導(dǎo)航:個(gè)人卡設(shè)置-ResideMenuItem控件settingItem顯示導(dǎo)航:設(shè)置同步-ResideMenuItem控件shareItem顯示導(dǎo)航:同步用戶通過左滑或者點(diǎn)擊顯示側(cè)邊導(dǎo)航按鈕可看到整款軟件的四大部分:萬友夾、個(gè)人卡、設(shè)置、同步。點(diǎn)擊每個(gè)條目,加載相應(yīng)的功能界面。左側(cè)導(dǎo)航主題主要是用的是ResideMenu框架控件,屬于自定義控件,繼承FrameLayout,通過自定義編寫實(shí)現(xiàn)效果。左側(cè)導(dǎo)航四個(gè)子模塊主題主要是用的是ResideMenuItem控件,屬于自定義控件,繼承LinearLayout,通過自定義編寫實(shí)現(xiàn)效果。核心代碼如下:resideMenu=newResideMenu(this);resideMenu.setBackground(R.drawable.menu_background);//設(shè)置背景resideMenu.attachToActivity(this);resideMenu.setScaleValue(0.6f);//設(shè)置側(cè)滑左右顯示比例mainItem=newResideMenuItem(this,R.drawable.menu_item_icon_wanyoujia,"萬友夾");mainItem.setOnClickListener(itemListener);personalCenterItem=newResideMenuItem(this,R.drawable.menu_item_icon_person,"個(gè)人卡");personalCenterItem.setOnClickListener(itemListener);settingItem=newResideMenuItem(this,R.drawable.menu_item_icon_set,"設(shè)置");settingItem.setOnClickListener(itemListener);shareItem=newResideMenuItem(this,R.drawable.menu_item_icon_share,"同步");shareItem.setOnClickListener(itemListener);5.2.3電子名片夾(萬友夾)模塊實(shí)現(xiàn)軟件電子名片夾如圖5.6、5.7所示。圖5.6萬友夾界面1圖5.7萬友夾界面2電子名片夾界面各控件及其功能說明如表5.4所示。表5.4電子名片夾界面各控件及其功能說明表控件控件名稱控件功能側(cè)邊導(dǎo)航按鈕-ImageView控件img_ResideMenu點(diǎn)擊顯示側(cè)邊導(dǎo)航搜索按鈕-ImageView控件img_Search搜索電子名片添加按鈕-ImageView控件img_More顯示4種添加電子名片方式掃碼按鈕-ImageButton按鈕barcode_Bt跳轉(zhuǎn)到掃描二維碼界面萬友號(hào)按鈕-ImageButton按鈕wanyoumaAdd_Bt跳轉(zhuǎn)到萬友號(hào)添加界面拍照按鈕-ImageButton按鈕takephoto_Bt跳轉(zhuǎn)到拍照名片界面手動(dòng)添加按鈕-ImageButton按鈕manuallyAdd_Bt跳轉(zhuǎn)到手動(dòng)添加界面名片夾列表-ListView控件mListView顯示電子名片夾列表字母提示框-TextView控件dialog屏幕中間顯示姓名首字母字母列-SideBar控件sideBar屏幕右邊顯示姓名首字母列用戶在首次進(jìn)入電子名片夾(萬友夾)中時(shí)候,由于本地沒有名片數(shù)據(jù),界面顯示無數(shù)據(jù),并提示用戶點(diǎn)擊添加按鈕img_More,點(diǎn)擊后彈出選擇框,分別為是掃碼添加按鈕barcode_Bt、萬友號(hào)添加按鈕wanyoumaAdd_Bt、拍照名片添加按鈕takephoto_Bt、手動(dòng)添加按鈕manuallyAdd_Bt,用戶根據(jù)相應(yīng)的方式添加電子名片,萬友夾界面如圖5.8所示,四種添加方式如圖5.9所示。圖5.8萬友夾界面圖5.9四種添加方式用戶添加電子名片信息后,將名片信息保存到數(shù)據(jù)庫電子名片信息資料表cardmsg中(可在表4.1中查看表結(jié)構(gòu)),在重新加載萬友夾界面的時(shí)候,從數(shù)據(jù)庫中cardmsg表讀取數(shù)據(jù)顯示名片夾列表mListView上,顯示萬友夾效果,效果如圖5.6所示。核心代碼如下:impl_card=BeanFactory.getImpl(CardMsgDao.class);newThread(newRunnable(){@Overridepublicvoidrun(){cardMsgPO=newCardMsgPO(0,name,post,mobilephone,email,qq,url,weibo,wechat,address,company,"",tellphone,"");if(photoUrl!=null&&!"".equals(photoUrl)){ cardMsgPO.setHeadUrl(photoUrl); } longinsert=impl_card.insert(cardMsgPO); Messagemsg=mHandler.obtainMessage(); if(insert>0){ msg.what=1; msg.obj=impl_card.findAll(); mHandler.sendMessage(msg); }else{ msg.what=2; mHandler.sendMessage(msg); } }}).start();用戶點(diǎn)擊萬友夾中的每張電子名片時(shí),會(huì)下拉彈出電子名片詳情,用戶可以查看好友的電子名片信息,并選擇相應(yīng)的聯(lián)系方式與好友進(jìn)行聯(lián)系。萬友夾中每張電子名片點(diǎn)擊下拉伸縮效果實(shí)現(xiàn)邏輯:通過查詢文獻(xiàn)和網(wǎng)絡(luò)檢索后,基于第三方開源庫ListViewAnimation,加入自定義設(shè)計(jì)和改編來實(shí)現(xiàn)帶有點(diǎn)擊下拉伸縮效果的電子卡片的效果,使用步驟如下:(1)導(dǎo)入第三方庫,設(shè)置Library(2)創(chuàng)建MyExpandableListItemAdapter繼承ExpandableListItemAdapter<CardMsgPO>,其中CardMsgPo是封裝好的電子名片姓名,地址,電話等信息屬性類,并且這些信息與本地SQLite的名片夾表連接和一一對(duì)應(yīng)(3)方法調(diào)用如下mExpandableListItemAdapter=newMyExpandableListItemAdapter(mContext,MyApplication.getInstance().currentCardList);alphaInAnimationAdapter=newAlphaInAnimationAdapter(mExpandableListItemAdapter);alphaInAnimationAdapter.setAbsListView(mListView);mExpandableListItemAdapter.setLimit(1);mListView.setAdapter(alphaInAnimationAdapter);5.2.4同步模塊實(shí)現(xiàn)軟件同步模塊界面如圖5.10所示。圖5.10同步主界面同步界面各控件及其功能說明如表5.5所示。表5.5同步界面各控件及其功能說明表控件控件名稱控件功能備份-RelativeLayout控件rl_upLoad備份萬友夾恢復(fù)-RelativeLayout控件rl_downLoad恢復(fù)萬友夾備份個(gè)人-RelativeLayout控件rl_share_person分享個(gè)人名片供其他用戶下載用戶在使用上述三個(gè)功能前,必須先登錄成功或者是登錄成功狀態(tài)的,如果沒有登錄進(jìn)行認(rèn)證,不能使用此功能。這三個(gè)功能實(shí)現(xiàn)方式類似,在此介紹恢復(fù)功能如何實(shí)現(xiàn)。同步功能邏輯為:客戶端查詢本地?cái)?shù)據(jù)庫中所有電子名片信息和萬友號(hào),并通過HttpPost方式把用戶的電子名片信息和萬友號(hào)發(fā)送給服務(wù)器Servlet,服務(wù)器獲取客戶端傳送過來的數(shù)據(jù),從數(shù)據(jù)庫中查詢?nèi)f友號(hào)是否被注冊(cè)過,如果找到有對(duì)應(yīng)的萬友號(hào),則把數(shù)據(jù)解析并插入到服務(wù)器用戶管理表cardinfo中(表結(jié)構(gòu)如表4.2所示),再返回是否同步成功信息??蛻舳薍ttpResponse接收并解析服務(wù)端返回來的數(shù)據(jù),通過判斷返回?cái)?shù)據(jù)提示用戶是否同步成功。核心代碼如下:newThread(newRunnable(){ @Override publicvoidrun(){ CardMsgDaoimpl=BeanFactory.getImpl(CardMsgDao.class); //查詢數(shù)據(jù)庫獲得所有的電子名片信息 List<CardMsgPO>findAll=impl.findAll(); f(findAll.size()<=0){ mHandler.sendEmptyMessage(5); impl.close(); return; } impl.close(); try{ HttpParamsparams=newBasicHttpParams(); //超時(shí)設(shè)置 /*從連接池中取連接的超時(shí)時(shí)間*/ ConnManagerParams.setTimeout(params,1000); /*連接超時(shí)*/ HttpConnectionParams.setConnectionTimeout(params,2000); /*請(qǐng)求超時(shí)*/ HttpConnectionParams.setSoTimeout(params,4000); DefaultHttpClientclient=newDefaultHttpClient(params); HttpPostpost=newHttpPost(path); List<BasicNameValuePair>nvps=newArrayList<BasicNameValuePair>(); nvps.add(newBasicNameValuePair("user_name",user_name)); nvps.add(newBasicNameValuePair("content",json_cards)); post.setEntity(newUrlEncodedFormEntity(nvps,HTTP.UTF_8)); HttpResponseresponse=client.execute(post); HttpEntityentity=response.getEntity(); if(response.getStatusLine().getStatusCode()==200){ //解析上傳成功數(shù)據(jù) }else{ //解析上傳失敗數(shù)據(jù) } }}).start();5.2.5歡迎引導(dǎo)模塊實(shí)現(xiàn)軟件歡迎引導(dǎo)界面如圖5.11所示。圖5.11歡迎引導(dǎo)界面用戶首次打開軟件時(shí)會(huì)出現(xiàn)四個(gè)歡迎界面,是專門為用戶設(shè)計(jì)的快速了解軟件的防騷擾功能、UI設(shè)計(jì)理念,使用戶能在美感中查看軟件特色并快速學(xué)習(xí)軟件的使用方法。歡迎引導(dǎo)界面各控件及其功能說明如表5.6所示。表5.6歡迎引導(dǎo)界面各控件及其功能說明表控件控件名稱控件功能滑動(dòng)頁面容器-ViewPager控件pager顯示控制歡迎引導(dǎo)界面頁面適配器-GuideAdapter控件adapter裝載歡迎引導(dǎo)數(shù)據(jù)核心代碼如下://獲取頁面實(shí)例pager=(ViewPager)findViewById(R.id.pager);//設(shè)置頁面滑動(dòng)監(jiān)聽器pager.setOnPageChangeListener();//創(chuàng)建頁面適配器adapter=newGuideAdapter(this);//添加第一頁adapter.addPage(R.drawable.guide1);//添加第二頁adapter.addPage(R.drawable.guide2);//添加第三頁adapter.addPage(R.drawable.guide3);//添加第四頁adapter.addPage(R.drawable.guide);pager.setAdapter(adapter);5.2.6拍照紙質(zhì)名片識(shí)別信息功能本軟件為用戶提供了通過使用拍照紙質(zhì)名片識(shí)別并快速獲取信息的功能,使用的技術(shù)是光學(xué)字符識(shí)別技術(shù)。軟件拍照識(shí)別紙質(zhì)名片信息功能如圖5.12所示。圖5.12拍照識(shí)別功能光學(xué)字符識(shí)別(OpticalCharacterRecognition,OCR),其工作原理為通過掃描儀、照相機(jī)等光學(xué)設(shè)備,將整頁文本圖像輸入計(jì)算機(jī),將文檔資料轉(zhuǎn)換成黑白點(diǎn)陣的圖像文件,然后通過OCR識(shí)別軟件將圖像中的文本轉(zhuǎn)換成文本格式,以便進(jìn)一步信息處理。實(shí)現(xiàn)OCR識(shí)別功能,需要轉(zhuǎn)換拍攝的影響,將影像內(nèi)的圖像繼續(xù)保存,將表格內(nèi)的資料及影像內(nèi)的文字一律變成計(jì)算機(jī)文字,減少影像資料的存儲(chǔ)量,對(duì)于識(shí)別出的文字可再次分析與使用,節(jié)省了因鍵盤輸入的人力和時(shí)間。從影像到結(jié)果輸出,需要經(jīng)過圖像文字轉(zhuǎn)換、圖像的二值化、單字切割、文字特征抽取、對(duì)比識(shí)別、以及人工校正,最后將識(shí)別結(jié)果輸出[9]。本軟件中,通過拍照紙質(zhì)名片,獲取名片上的文字信息正是通過以上原理實(shí)現(xiàn)的。實(shí)現(xiàn)邏輯為:當(dāng)點(diǎn)擊拍照后,調(diào)用Android系統(tǒng)照相機(jī)Camera.PictureCallback類,并重寫onPictureTaken(byte[]data,Cameracamera)方法,data為拍照的數(shù)據(jù)流,在該方法中啟動(dòng)線程recThread=newRecThread(data,handler,ocrManager);傳入數(shù)據(jù)流,隨后在線程中調(diào)用本地寫好的libnamecardrec.so的方法,libnamecardrec.so是已經(jīng)寫好的C語言庫,用來處理data數(shù)據(jù),并返回經(jīng)過識(shí)別處理后的數(shù)據(jù)。5.2.7二維碼的生成和識(shí)別本軟件為用戶提供了二維碼生成和識(shí)別功能,當(dāng)前二維碼名片已經(jīng)開始流行,用戶可以使用此功能,快速精準(zhǔn)的獲取名片信息。二維碼的生成和識(shí)別用的是QRCode編碼解碼jar包:ZXing。ZXing是一個(gè)開放源碼的,用Java實(shí)現(xiàn)的多種格式的1D/2D條碼圖像處理庫,它包含了聯(lián)系到其他語言的端口。Zxing可以實(shí)現(xiàn)使用手機(jī)的內(nèi)置的攝像頭完成條形碼的掃描及解碼。ZXing庫二維碼識(shí)別主要的類以及這些類的作用:CaptureActivity。這個(gè)是啟動(dòng)Activity也就是掃描器。CaptureActivityHandler解碼處理類,負(fù)責(zé)調(diào)用另外的線程進(jìn)行解碼。DecodeThread解碼的線程。com.google.zxing.client.android.camera包,攝像頭控制包。ViewfinderView自定義的View,掃描二維碼時(shí)中間的掃描框。二維碼生成核心代碼:Hashtable<EncodeHintType,String>hints=newHashtable<EncodeHintType,String>();hints.put(EncodeHintType.CHARACTER_SET,"utf-8");//把輸入的文本轉(zhuǎn)為二維碼BitMatrixbitMatrix=newQRCodeWriter().encode(text,BarcodeFormat.QR_CODE,QR_WIDTH,QR_HEIGHT,hints);
6軟件測(cè)試6.1軟件測(cè)試概述6.1.1軟件測(cè)試目的因?yàn)樵诔绦蛑型嬖谥S多預(yù)料不到的問題,可能會(huì)被疏漏,許多隱藏的錯(cuò)誤只有在特定的環(huán)境下才可能暴露出來。如果不把著眼點(diǎn)放在盡可能查找錯(cuò)誤這樣一個(gè)基礎(chǔ)上,這些隱藏的錯(cuò)誤和缺陷就查不出來,會(huì)遺留到運(yùn)行階段中去。如果站在用戶的角度替他們?cè)O(shè)想,就應(yīng)當(dāng)把測(cè)試活動(dòng)的目標(biāo)對(duì)準(zhǔn)揭露程序中存在的錯(cuò)誤。在選取測(cè)試用例時(shí),考慮那些易于發(fā)現(xiàn)程序錯(cuò)誤的數(shù)據(jù)。下面這些規(guī)則也可以看作是測(cè)試的目的或定義:(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程;(2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;(3)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。從上述規(guī)則可以看出,測(cè)試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。6.1.2軟件測(cè)試的原則軟件測(cè)試,從不同的角度出發(fā)會(huì)派生出兩種不同的測(cè)試原則。從用戶的角度出發(fā),就是希望通過軟件測(cè)試能充分暴露軟件中存在的問題和缺陷;從開發(fā)者的角度出發(fā),就是希望測(cè)試能表明軟件產(chǎn)品不存在錯(cuò)誤,已經(jīng)正確地實(shí)現(xiàn)了用戶的需求。為了達(dá)到上述的原則,需要注意以下幾點(diǎn):(1)應(yīng)當(dāng)把“盡早和不斷地測(cè)試”作為開發(fā)者的座右銘。(2)程序員應(yīng)該避免檢查自己的程序,測(cè)試工作應(yīng)該由獨(dú)立的專業(yè)的軟件測(cè)試機(jī)構(gòu)來完成。(3)設(shè)計(jì)測(cè)試用例時(shí),應(yīng)該考慮到合法的輸入和不合法的輸入,以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡(luò)異常中斷、電源斷電等情況。(4)一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大的關(guān)系。(5)對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程。一般有A測(cè)試出來的錯(cuò)誤,一定要有一個(gè)B來確認(rèn),嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)進(jìn)行討論和分析。(6)制定嚴(yán)格的測(cè)試計(jì)劃,并把測(cè)試時(shí)間安排得盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。(7)回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見。(8)妥善保存一切測(cè)試過程文檔,意義是不言而喻的,測(cè)試的重現(xiàn)性往往要靠測(cè)試文檔。6.2軟件測(cè)試環(huán)境本軟件采用Android虛擬機(jī)Genymotion。genymotion安卓模擬器其實(shí)不是普通的模擬器,嚴(yán)格來說,genymotion是虛擬機(jī),被網(wǎng)傳定義為模擬器,genymotion虛擬機(jī)希望能夠給測(cè)試人員帶來最好的Android模擬體驗(yàn)。選用測(cè)試虛擬機(jī)為GoogleGalaxyNexus、GoogleNexusS、GoogleNexus5三個(gè)屏幕分辨率的手機(jī),由于需要對(duì)二維碼掃描和拍照名片識(shí)別做測(cè)試,所以需要真機(jī)作為測(cè)試,選用真機(jī)為vtelX1手機(jī)。具體參數(shù)入下表6.1所示:表6.1手機(jī)參數(shù)規(guī)格手機(jī)GoogleNexusSGoogleGalaxyNexusGoogleNexus5vtelX1操作系統(tǒng)Android4.1.1Android4.1.1Android4.4.4Android4.2.2手機(jī)尺寸5英寸5英寸5英寸5英寸屏幕分辨率480*800像素720*1280像素1080*1920720*1280像素API161619196.3測(cè)試用例6.3.1功能測(cè)試由于本軟件的功能和子功能比較多,在此只列舉出用戶登錄模塊功能和用戶備份電子名片夾模塊功能的測(cè)試數(shù)據(jù)及結(jié)果。(1)用戶登錄測(cè)試,如表6.2所示。表6.2用戶登錄測(cè)試方案操作期望結(jié)果測(cè)試結(jié)果結(jié)論測(cè)試1輸入用戶名“a”密碼“234”并且網(wǎng)絡(luò)正常登錄成功登錄成功結(jié)果符合測(cè)試2輸入用戶名“a”密碼“234”并且網(wǎng)絡(luò)異常提示網(wǎng)絡(luò)異常網(wǎng)絡(luò)異常結(jié)果符合測(cè)試3輸入用戶名“a”密碼“123”并且網(wǎng)絡(luò)正常提示用戶賬戶密碼有誤賬戶或密碼錯(cuò)誤結(jié)果符合測(cè)試4輸入用戶名“b”密碼“234”并且網(wǎng)絡(luò)正常提示用戶賬戶密碼有誤賬戶或密碼錯(cuò)誤結(jié)果符合在本軟件中,用戶只有輸入正確的用戶名、密碼并且網(wǎng)絡(luò)正常的情況下才能使用本軟件的備份萬友夾功能、恢復(fù)萬友夾功能、共享個(gè)人名片等功能。(2)用戶備份電子名片夾測(cè)試,如表6.3所示。表6.3用戶備份電子名片夾測(cè)試方案操作期望結(jié)果測(cè)試結(jié)果結(jié)論測(cè)試1登錄情況:已登錄本地網(wǎng)絡(luò)狀態(tài):網(wǎng)絡(luò)正常服務(wù)器連接情況:成功服務(wù)器響應(yīng)狀態(tài):True提示備份成功備份成功結(jié)果符合測(cè)試2登錄情況:已登錄本地網(wǎng)絡(luò)狀態(tài):網(wǎng)絡(luò)正常服務(wù)器連接情況:成功服務(wù)器響應(yīng)狀態(tài):False提示備份失敗備份失敗結(jié)果符合測(cè)試3登錄情況:已登錄本地網(wǎng)絡(luò)狀態(tài):網(wǎng)絡(luò)正常服務(wù)器連接情況:失敗服務(wù)器響應(yīng)狀態(tài):T/F提示用戶服務(wù)器連接失敗服務(wù)器連接失敗結(jié)果符合測(cè)試4登錄情況:已登錄本地網(wǎng)絡(luò)狀態(tài):網(wǎng)絡(luò)異常服務(wù)器連接情況:成功服務(wù)器響應(yīng)備份狀:T/F提示用戶網(wǎng)絡(luò)異常網(wǎng)絡(luò)異常結(jié)果符合6.4測(cè)試結(jié)論使用了大量測(cè)試,測(cè)試了安卓電子名片管理器的基本功能,分不同權(quán)限的用戶分別使用了不同的測(cè)試用例對(duì)軟件進(jìn)行了測(cè)試,測(cè)試結(jié)果與預(yù)期結(jié)果基本一致。
7結(jié)論與展望7.1結(jié)論本文主要根據(jù)電子名片管理器的研究背景與現(xiàn)狀,完成對(duì)系統(tǒng)需求的分析,對(duì)功能進(jìn)行設(shè)計(jì),對(duì)模塊進(jìn)行實(shí)現(xiàn)。在本系統(tǒng)中,選用MVC設(shè)計(jì)模式,使用Java語言,采用三層設(shè)計(jì)模式,通過Eclipse技術(shù)、JDBC技術(shù)、MySQl技術(shù)、SQlite技術(shù)、Servlet技術(shù)進(jìn)行設(shè)計(jì)。本軟件用戶通過首次安裝瀏覽歡迎引導(dǎo)界面后進(jìn)入軟件。進(jìn)入軟件后,用戶先進(jìn)入的是電子名片夾模塊,并提示用戶可以使用右上角的添加按鈕,選擇添加電子名片的四種方式:掃碼添加、萬友號(hào)添加、拍照添加、手動(dòng)添加。用戶根據(jù)添加提示,成功添加名片信息后,將數(shù)據(jù)保存到數(shù)據(jù)庫中,并返回到電子名片夾中,此時(shí)名片夾中顯示出電子名片列表,用戶可以點(diǎn)擊電子名片進(jìn)行編輯、刪除、查看并選擇相應(yīng)的聯(lián)系方式與好友聯(lián)系。用戶通過左滑,可以看到側(cè)邊導(dǎo)航的四大模塊:萬友夾、個(gè)人卡、設(shè)置、同步功能模塊,用戶根據(jù)需求查看各個(gè)模塊,根據(jù)提示使用電子名片夾備份、恢復(fù)、編輯個(gè)人電子名片、生成二維碼名片等功能。至此,本軟件的基本功能已經(jīng)實(shí)現(xiàn),基本完成了任務(wù)書中所列出的任務(wù)。7.2完成內(nèi)容(1)萬友夾(電子名片夾)模塊該模塊的子模塊:掃二維碼碼添加電子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江海洋大學(xué)單招職業(yè)技能測(cè)試題庫帶答案詳解
- 2026年廣州番禺職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫及答案詳解一套
- 2026年南充文化旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫及答案詳解1套
- 2026年酒泉職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫附答案詳解
- 2026年金山職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫及參考答案詳解1套
- 2026年甘肅機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫及答案詳解1套
- 四川省遂寧市射洪中學(xué)2024-2025學(xué)年高二上學(xué)期期中考試政治試題(含解析)政治答案
- 伊川醫(yī)院面試題及答案
- 2024年1月國開電大行管??啤侗O(jiān)督學(xué)》期末紙質(zhì)考試試題及答案
- 2025年浦城縣醫(yī)療單位醫(yī)療類儲(chǔ)備人才引進(jìn)備考題庫完整答案詳解
- 去毛刺培訓(xùn)知識(shí)課件
- 2025公共基礎(chǔ)知識(shí)考試題庫及答案詳解(真題匯編)
- 實(shí)施指南(2025)《JC-T 2822-2024 水泥替代原料》
- 2025餐飲聯(lián)營合同-協(xié)議范本(標(biāo)準(zhǔn)版)
- 中介服務(wù)選取管理辦法
- 2025年鄉(xiāng)鎮(zhèn)環(huán)衛(wèi)工人招聘考試試題
- 土地征收與拆遷課件
- 傳播學(xué)研究方法 課件全套 ch1-導(dǎo)論-傳播學(xué)研究方法的發(fā)展歷程 -ch18-大數(shù)據(jù)的分析與可視化-用圖表勾勒網(wǎng)絡(luò)關(guān)系
- 2025年部編版三年級(jí)語文上冊(cè)全冊(cè)教案
- 富斯遙控器FS-i6說明書
- 中醫(yī)推拿知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論