最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)

2022-12-15 14:53 作者:ChatGPT云炬學(xué)長(zhǎng)  | 我要投稿


畢業(yè)設(shè)計(jì)

安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)

誠(chéng)信申明

本人鄭重聲明:本設(shè)計(jì)(論文)及其研究工作是本人在指導(dǎo)教師的指導(dǎo)下獨(dú)立完成的,在完成設(shè)計(jì)(論文)時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出。

本人簽名: 年 月 日

畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)

畢業(yè)設(shè)計(jì)(論文)題目: 安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)


1.課題意義及目標(biāo)

當(dāng)今社會(huì),社交頻繁,名片的需求量非常大。傳統(tǒng)名片一般都是紙質(zhì)的,看似簡(jiǎn)單,但要經(jīng)過(guò)多道工序才能到使用。印刷方式、印刷難易、印刷用紙選擇;名片的具體內(nèi)容;設(shè)計(jì)大致思路;包括校稿都是需要用戶(hù)考慮的因素,并且易丟失,難管理。當(dāng)人們因各種因素需要更換名片信息的時(shí)候,需重新制作名片,難免造成了資源浪費(fèi)。

2.主要任務(wù)

系統(tǒng)采用MVC架構(gòu),實(shí)現(xiàn)技術(shù)需用Java語(yǔ)言編寫(xiě)。

設(shè)計(jì)詳細(xì)申請(qǐng)流程和軟件運(yùn)行流程

服務(wù)器的設(shè)計(jì),實(shí)現(xiàn)永久備份恢復(fù)電子名片夾功能。

用戶(hù)可以互相交換電子名片。

用戶(hù)能夠拍照紙質(zhì)名片獲取名片文字信息,識(shí)別及生成二維碼名片。

3.主要參考資料

[1] 郭宏志.?Android應(yīng)用開(kāi)發(fā)詳解[M].電子工業(yè)出版社,2010.

[2] 高峰.?二維條形碼手機(jī)識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2008.

[3] 夏偉. 電子名片掘金新商務(wù)時(shí)代[J] .大眾商務(wù), 2007,15:01-02.

[4] 阿離. Android5.0棒棒糖輕度體驗(yàn)[J].電腦迷,2015,01:01-02.

4.進(jìn)度安排

審核人:?年 月 日

安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)

摘 要

隨著社會(huì)各行業(yè)的不斷發(fā)展,面對(duì)種類(lèi)繁多的社交名片,面對(duì)面的交換紙質(zhì)名片已經(jīng)很難跟上現(xiàn)代化、無(wú)紙化管理的步伐,而當(dāng)今計(jì)算機(jī)和智能手機(jī)的飛速發(fā)展彌補(bǔ)了這些缺陷,運(yùn)用現(xiàn)代化手段進(jìn)行科學(xué)管理,已經(jīng)成為名片交換和保存亟待解決的課題之一。

本軟件以Eclipse為開(kāi)發(fā)工具,利用Java語(yǔ)言,通過(guò)對(duì)Android平臺(tái)的系統(tǒng)架構(gòu)和應(yīng)用程序進(jìn)行學(xué)習(xí),設(shè)計(jì)出一款基于Android的電子名片管理軟件。本軟件實(shí)現(xiàn)的功能不僅包括電子名片的添加、修改、刪除、查詢(xún)功能,而且實(shí)現(xiàn)了拍照識(shí)別紙質(zhì)名片,掃描識(shí)別二維碼名片,注冊(cè)登錄,互傳分享電子名片,備份和恢復(fù)電子名片夾等功能,滿(mǎn)足用戶(hù)對(duì)電子名片夾的需求。本軟件的設(shè)計(jì)遵循標(biāo)準(zhǔn)的開(kāi)發(fā)流程,首先進(jìn)行需求分析,然后確定電子名片夾的功能,再編寫(xiě)程序的代碼,調(diào)試程序,運(yùn)行程序,并對(duì)程序進(jìn)行優(yōu)化完善。本軟件利用Android提供的各種組件對(duì)界面進(jìn)行設(shè)計(jì),能夠很好地支持用戶(hù)體驗(yàn)。

關(guān)鍵詞:Android,電子名片,二維碼

The Design and Implementation of Electronic Business Card Manager Based on Android

Abstract

With the continuous development of social various sectors, social business card has more and more kinds. Face-to-face exchange of paper card is hard to keep up with the pace of the modernization and paperless management.The rapid development of computers and smart phones makes up for these deficiencies. The use of modern means of scientific management has become one of the most important topics to exchange business cards and save.

The software bases on Eclipse,uses the Java language. Designers study by the Android platform’s system architecture and application and then design an electronic business card management software bases on Android. The functions of the software include not only the addition,modification, deletion, search functions of e-card,but also achieve a photograph identification paper business card, a two-dimensional code scanning identification cards, registration and landing,sharing electronic business cards, backup and restore electronic business card. These functions will satisfy users’the needs of Electronic card holder. The software is designed following the standards of development process. It begins with a needs analysis, and then determines the function of electronic business card holder, and then writes program code, debugs, runs the program, and optimizes the program. Designing the interface by using the various components of the Android, the software can greatly optimize the users’experience.

Keywords:?Android,Electronic business card,Two-dimensional code

目 錄

1緒論11

1.1引言11

1.2課題研究背景11

1.2.1課題背景11

1.2.2研究方法22

1.2.3研究工具33

1.3 設(shè)計(jì)意義33

1.4 國(guó)內(nèi)外研究現(xiàn)狀44

2可行性研究66

2.1技術(shù)可行性66

2.1.1硬件可行性66

2.1.2軟件可行性66

2.1.3人員可行性66

2.2經(jīng)濟(jì)可行性66

2.2.1 經(jīng)濟(jì)效益66

2.2.2 社會(huì)效益66

2.3操作可行性77

2.4法律可行性77

3需求分析88

3.1概述88

3.1.1 用戶(hù)特征88

3.1.2 條件和限制88

3.2功能需求88

3.2.1 用例圖88

3.2.2 功能描述99

3.3性能需求1111

3.3.1 數(shù)據(jù)準(zhǔn)確性1111

3.3.2 時(shí)間特性1111

3.3.2 適應(yīng)性1111

4系統(tǒng)設(shè)計(jì)1212

4.1技術(shù)架構(gòu)設(shè)計(jì)1212

4.2功能概要設(shè)計(jì)1313

4.3功能詳細(xì)設(shè)計(jì)1515

4.4數(shù)據(jù)庫(kù)設(shè)計(jì)1616

5軟件實(shí)現(xiàn)1818

5.1服務(wù)端數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)1818

5.2軟件功能實(shí)現(xiàn)1818

5.2.1用戶(hù)注冊(cè)登錄模塊實(shí)現(xiàn)1818

5.2.2側(cè)邊導(dǎo)航欄模塊實(shí)現(xiàn)2121

5.2.3電子名片夾(萬(wàn)友夾)模塊實(shí)現(xiàn)2222

5.2.4同步模塊實(shí)現(xiàn)2626

5.2.5歡迎引導(dǎo)模塊實(shí)現(xiàn)2828

5.2.6拍照紙質(zhì)名片識(shí)別信息功能2929

5.2.7二維碼的生成和識(shí)別3030

6軟件測(cè)試3232

6.1軟件測(cè)試概述3232

6.1.1軟件測(cè)試目的3232

6.1.2軟件測(cè)試的原則3232

6.2軟件測(cè)試環(huán)境3333

6.3測(cè)試用例3333

6.3.1功能測(cè)試3333

6.4測(cè)試結(jié)論3535

7結(jié)論與展望3636

7.1結(jié)論3636

7.2完成內(nèi)容3636

7.3尚存在的問(wèn)題3737

7.4展望3737

參考文獻(xiàn)3838

致謝3939

1緒論

1.1引言

生活節(jié)奏日益增快的今天,網(wǎng)絡(luò)已經(jīng)深入社會(huì),信息成為了非常重要的資源。人們對(duì)信息的認(rèn)識(shí)和運(yùn)用漸漸廣泛。從傳統(tǒng)的信件郵遞發(fā)展成Email,從逛商場(chǎng)購(gòu)物到網(wǎng)上下單送貨上門(mén),傳統(tǒng)的熱弄信息管理系統(tǒng)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足快節(jié)奏、高效率的現(xiàn)代生活需要,落后的管理技術(shù)阻礙了信息的交流與共享。同時(shí),網(wǎng)絡(luò)技術(shù)的普及,如何通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)科技信息的遠(yuǎn)程訪問(wèn)與遠(yuǎn)程管理,從而實(shí)現(xiàn)對(duì)信息的交流與共享成為當(dāng)務(wù)之急。

隨著社會(huì)各行業(yè)的不斷發(fā)展,面對(duì)種類(lèi)繁多的社交名片,面對(duì)面的交換紙質(zhì)名片已經(jīng)很難跟上現(xiàn)代化、無(wú)紙化管理的步伐,而當(dāng)今計(jì)算機(jī)和手機(jī)通訊技術(shù)的飛速發(fā)展彌補(bǔ)了這些缺陷,運(yùn)用現(xiàn)代化手段進(jìn)行科學(xué)管理,已經(jīng)成為名片交換和保存亟待解決的課題之一。

電子名片管理器可以實(shí)現(xiàn)名片信息的綠色無(wú)紙化管理和保存。伴隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來(lái)越多的人將個(gè)人信息與Internet融合在一起,當(dāng)人們因各種因素需要更換名片信息的時(shí)候,需要重新制作名片,難免造成了資源浪費(fèi)。本系統(tǒng)就是在這樣一個(gè)社會(huì)背景下開(kāi)發(fā)的。

本軟件可以極大的提高名片管理效率,在設(shè)計(jì)時(shí)充分考慮了用戶(hù)的方便與靈活性,既能實(shí)現(xiàn)對(duì)名片夾信息的高效管理和控制,又能滿(mǎn)足用戶(hù)對(duì)二維碼電子名片的需求。最重要的是,它顛覆了傳統(tǒng)通訊錄方式和名片的綠色無(wú)紙化管理。

1.2課題研究背景

1.2.1課題背景

隨著社會(huì)發(fā)展的日新月異,商業(yè)來(lái)往日漸廣泛。人與人之間的交往也日益頻繁,于是,人們手中便出現(xiàn)了名目繁多的通訊錄、名址錄、名片夾等對(duì)好友或者客戶(hù)進(jìn)行管理的工具,但是,一張張名片上的信息雖然不多,卻占據(jù)了很大的空間;同時(shí),這些傳統(tǒng)的手動(dòng)管理方式存在著不易更新、不易存放、容易丟失、難以備份等重大缺陷;而建立自己的電子文檔對(duì)名片進(jìn)行管理雖然客服了以上的缺點(diǎn),但是查詢(xún)效率低,特別是當(dāng)數(shù)據(jù)量十分龐大時(shí),劣勢(shì)更加明顯。隨著商務(wù)通的出現(xiàn),雖然實(shí)現(xiàn)了可構(gòu)造查詢(xún)條件的名片電子化管理,但價(jià)格昂貴,難以在廣大客戶(hù)中進(jìn)行全面普及。隨著安卓智能手機(jī)的普及,因此開(kāi)發(fā)一個(gè)既可以存儲(chǔ)信息,又具有更新、查詢(xún)等功能,同時(shí)價(jià)格又能為廣大消費(fèi)者接受的多功能安卓電子名片管理器就顯得十分必要。

1.2.2研究方法

本軟件采用三層架構(gòu)MVC模式進(jìn)行設(shè)計(jì)。MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),一種軟件設(shè)計(jì)典范,所謂MVC模式,是用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶(hù)交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯。

Model(模型)是應(yīng)用程序中用戶(hù)處理應(yīng)用程序數(shù)據(jù)邏輯的部分。通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。

View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。

Controller(控制器)是應(yīng)用程序中處理用戶(hù)交互的部分。通??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。

MVC 分層有助于管理復(fù)雜的應(yīng)用程序,可以在一個(gè)時(shí)間內(nèi)專(zhuān)門(mén)關(guān)注一個(gè)方面。例如,可以在不依賴(lài)業(yè)務(wù)邏輯的情況下專(zhuān)注于視圖設(shè)計(jì)。同時(shí)也讓?xiě)?yīng)用程序的測(cè)試更加容易。

而本軟件也正是遵循MVC模式的核心思想來(lái)進(jìn)行工作的,用戶(hù)通過(guò)多種方式把好友的名片信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶(hù)每次進(jìn)入電子名片夾中,將會(huì)從數(shù)據(jù)庫(kù)中把好友的全部信息讀取出來(lái),顯示在視圖布局中,用戶(hù)可以點(diǎn)擊每張電子名片上的相應(yīng)信息去查看或者聯(lián)系好友。

1.2.3研究工具

軟件開(kāi)發(fā)工具為Eclipse,開(kāi)發(fā)環(huán)境:jdk1.7,開(kāi)發(fā)語(yǔ)言:java。

Eclipse 是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。其特點(diǎn):

(1)從編寫(xiě)、查錯(cuò)、編譯、幫助等等各方面為Java語(yǔ)言貼身定做。

(2)可無(wú)限擴(kuò)展的強(qiáng)大插件功能。

(3)眾多公司、廠商、組織的鼎立支持。

(4)開(kāi)放,自由,免費(fèi)。

后臺(tái)數(shù)據(jù)庫(kù)為MySQL,優(yōu)點(diǎn)主要有:它使用的核心線(xiàn)程是完全多線(xiàn)程,支持多處理器。它通過(guò)一個(gè)高度優(yōu)化的類(lèi)庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并像他們能達(dá)到的一樣快速,通常在查詢(xún)初始化后不該有任何內(nèi)存分配。沒(méi)有內(nèi)存漏洞。MySQL可以工作在不同的平臺(tái)上。支持C、C++、Java、Perl、PHP、Python和TCL API。

1.3 設(shè)計(jì)意義

當(dāng)今社會(huì)是一個(gè)信息化的社會(huì),在這個(gè)信息高速流通的社會(huì)中,網(wǎng)絡(luò)成了一種必不可少的渠道。它遍布全球,與人們的生活越來(lái)越密切。

眼下,每個(gè)人由于交友需要會(huì)有多個(gè)賬號(hào)信息,多個(gè)手機(jī)號(hào)碼。而手機(jī)用戶(hù)又需要對(duì)應(yīng)的軟件來(lái)保存這些信息,不方便把一個(gè)人的信息統(tǒng)一起來(lái)?;谶@些需求和現(xiàn)狀,設(shè)計(jì)一款電子名片夾尤為重要,此款軟件是一款集所有好友信息于一身的應(yīng)用型軟件。在它的每張電子卡上,都保留了傳統(tǒng)手機(jī)通訊錄的功能,同時(shí)加入了QQ、微信等各種新興通訊方式的信息,既可以像紙質(zhì)名片一樣簡(jiǎn)單直觀的查看好友信息又可以取代紙質(zhì)名片。

此款電子名片夾軟件最大的特點(diǎn)就是把好友各種與聯(lián)系方式有關(guān)的信息以電子卡片形式展示出來(lái)。一應(yīng)俱全的好友信息展示卡,永久的云備份存儲(chǔ),能讓用戶(hù)更快捷的掌握聯(lián)系人好友的信息。只需一個(gè)賬號(hào),便可進(jìn)行信息的互傳與分享。既保證綠色無(wú)紙化,又響應(yīng)國(guó)家的節(jié)能環(huán)保政策。“顛覆傳統(tǒng)通訊錄,告別紙質(zhì)名片”。

根據(jù)課題研究的需求分析和市場(chǎng)上所流行的軟件的流程,本軟件基于網(wǎng)頁(yè)的方式進(jìn)行訪問(wèn),采用MVC模式。功能上涵蓋電子名片保存,共享互傳的整個(gè)過(guò)程,并具有以下優(yōu)點(diǎn)。

無(wú)紙化。從名片信息的保存、修改、名片的互傳共享等均存儲(chǔ)在數(shù)據(jù)庫(kù)中,無(wú)需印制紙質(zhì)名片,電子名片夾可以云備份到服務(wù)端也無(wú)需資料夾等存放工具。

不受時(shí)間限制。以往在名片交換的是時(shí)候,不管是名片制作或者交換時(shí)間的限制非常大,使用電子名片,用戶(hù)之間可以隨時(shí)隨地進(jìn)行名片的互傳。

不受地點(diǎn)限制。在目前交換名片的時(shí)候,需要當(dāng)面進(jìn)行交換,使用電子名片,只要用戶(hù)有手機(jī),便可以輕松進(jìn)行名片的在線(xiàn)查看、編輯、修改、互傳名片。

數(shù)據(jù)化。名片所有相關(guān)數(shù)據(jù)均存儲(chǔ)在數(shù)據(jù)庫(kù)中,在進(jìn)行名片信息存儲(chǔ)、電子名片查詢(xún)、名片交換互傳時(shí),相關(guān)數(shù)據(jù)均可在軟件中獲得。

保密化。通過(guò)設(shè)計(jì)一個(gè)是否要開(kāi)啟互傳交換名片開(kāi)關(guān),用戶(hù)可以根據(jù)自己的實(shí)際情況,設(shè)置是否讓他們獲取自己的電子名片,有效的保護(hù)用戶(hù)隱私和信息安全。

1.4 國(guó)內(nèi)外研究現(xiàn)狀

目前國(guó)內(nèi)做的比較好的一款A(yù)ndroid電子名片管理器是名片全能王,可快速、精準(zhǔn)識(shí)別多種語(yǔ)言名片,自動(dòng)存入通訊錄;為名片添加圖文、視頻,讓名片立體展示個(gè)人、產(chǎn)品、公司。隨時(shí)更新的商務(wù)人脈庫(kù),幫助拜訪客戶(hù),進(jìn)行客戶(hù)關(guān)系管理。但是它有很大的缺點(diǎn),電子名片管理還是脫離不了傳統(tǒng)通訊錄的束縛,不能快捷的看到用戶(hù)的個(gè)人信息,操作比較繁瑣;另外電子名片信息簡(jiǎn)單,缺少Q(mào)Q、微信、微博等新興社交方式。

今年備受關(guān)注的Android5.0 Lollipop[5]棒棒糖 被Google發(fā)布,而以“卡片”為設(shè)計(jì)原型的Material Design[5],希望在虛擬世界中模擬出物理世界當(dāng)中紙質(zhì)材質(zhì)的感覺(jué),但又具備靈活伸縮、擴(kuò)展的特性,讓它顯得既靈動(dòng),又整齊。Google在虛擬世界里構(gòu)建了幾個(gè)突出,讓卡片、按鈕等視覺(jué)元素鋪在上面,而且還運(yùn)用陰影以及空間來(lái)突出內(nèi)容。Android5.0原聲的通訊錄則完全采用這樣的設(shè)計(jì),使得通訊錄更具人性化,紙質(zhì)化,電子卡片化。

文獻(xiàn)[5]指出,Android5.0最大的變化在于UI用戶(hù)界面的設(shè)計(jì),全新的UI界面采用了“Material Design”設(shè)計(jì)規(guī)范。這也是Android5.0最重要的一部分,Lollipop標(biāo)志著Google在用戶(hù)界面上已經(jīng)完全擁抱了Material Design的理念,新的用戶(hù)界面更加簡(jiǎn)潔,色彩更加豐富,動(dòng)畫(huà)效果更加合理生動(dòng),同時(shí)加入實(shí)時(shí)陰影的3D視圖,更多地使用卡片風(fēng)格的顯示效果,這樣的效果就像是翻閱一本賞心悅目的畫(huà)冊(cè),在明亮純凈的底色之上是簡(jiǎn)單而優(yōu)雅的文字,讓上面的內(nèi)用有一種躍然紙上的感覺(jué)。

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開(kāi)發(fā)語(yǔ)言相對(duì)比較熟悉

熟悉Eclipse的操作

熟悉MySQL和Android SQLite數(shù)據(jù)庫(kù)并有過(guò)開(kāi)發(fā)經(jīng)驗(yàn)

2.2經(jīng)濟(jì)可行性

2.2.1 經(jīng)濟(jì)效益

本軟件適用于商務(wù)人士等交換名片,管理名片等情況,為提高工作效率、降低人力物力成本為目的,間接方面能帶來(lái)一定的經(jīng)濟(jì)收益,并且本軟件的開(kāi)發(fā)成本相對(duì)較低,無(wú)需購(gòu)置額外硬件支持,總體來(lái)說(shuō)效益遠(yuǎn)大于成本。

2.2.2 社會(huì)效益

本軟件主要服務(wù)于社交頻繁的商務(wù)人士,在提高工作效率的同時(shí)并能實(shí)現(xiàn)名片交換和管理全程“綠色無(wú)紙化”,是一種快捷、新型、經(jīng)濟(jì)的處理手段,響應(yīng)國(guó)家的節(jié)能環(huán)保政策。

2.3操作可行性

用戶(hù)在首次進(jìn)入本軟件的時(shí)候,可以通過(guò)瀏覽歡迎引導(dǎo)界面之后便能夠熟練掌握本軟件的主要功能和使用操作;另外軟件也加入了目前市場(chǎng)主流的軟件中側(cè)邊導(dǎo)航元素,用戶(hù)可以一目了然地看到軟件的四大模塊,并且根據(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ú)立研究、編寫(xiě)、完成的,在開(kāi)發(fā)時(shí)所利用的相關(guān)資料均已在參考文獻(xiàn)中列出。

3需求分析

3.1概述

3.1.1 用戶(hù)特征

使用本軟件的用戶(hù)群非常廣泛,它非常適用于具有如下特點(diǎn)的人員:

(1)工作中與外界聯(lián)系非常頻繁;

(2)可無(wú)限工作比較繁忙,惜時(shí)如金;

(3)與外界的聯(lián)系成為開(kāi)展工作的關(guān)鍵因素,信息丟失或損壞可能帶來(lái)嚴(yán)重?fù)p失;

(4)社交賬戶(hù)多,需要賬戶(hù)信息管理。

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ù)形式來(lái)實(shí)現(xiàn)軟件功能,以方便數(shù)據(jù)的共享。

3.2功能需求

3.2.1 用例圖

用例圖是由參與者(Actor)、用例(Use Case)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對(duì)系統(tǒng)、子系統(tǒng)或類(lèi)的行為進(jìn)行可視化,使用戶(hù)能夠理解如何使用這些元素,并使開(kāi)發(fā)者能夠?qū)崿F(xiàn)這些元素。

本軟件的用例圖如圖3.1會(huì)員用例圖和圖3.2游客用例圖所示:軟件的使用人員主要包括2種:會(huì)員和游客。

會(huì)員的功能主要有:瀏覽電子名片夾信息功能;登錄功能;登錄后可以對(duì)個(gè)人信息進(jìn)行管理,包括生成二維碼名片、獲取用戶(hù)專(zhuān)屬I(mǎi)D號(hào)用于電子名片互傳共享等;對(duì)電子名片信息進(jìn)行管理,包括增加、刪除、編輯、查詢(xún)電子名片功能等;電子名片夾的云備份和云恢復(fù)功能;拍照識(shí)別名片功能;二維碼名片識(shí)別和生成功能。

游客的功能主要有:注冊(cè)成為會(huì)員的功能;瀏覽電子名片夾信息功能;電子名片信息管理功能;拍照識(shí)別名片功能;二維碼名片識(shí)別和生成功能。


圖3.1 會(huì)員用例圖 圖3.2 游客用例圖

3.2.2?功能描述

根據(jù)用戶(hù)特征分析以及用例分析,本軟件主要包括12個(gè)功能模塊,分別為:瀏覽功能,查看詳細(xì)資料功能,電子名片信息管理功能(增加、刪除、修改、查詢(xún)功能),拍照識(shí)別紙質(zhì)名片功能,二維碼識(shí)別和生成功能,登錄注冊(cè)功能,電子名片夾云備份和云恢復(fù)功能,電子名片的互傳共享功能,幫助功能。

(1)瀏覽功能

①以列表的方式列出所有的記錄(每項(xiàng)記錄只列出姓名、職位、單位、頭像);

②可點(diǎn)擊選定一項(xiàng)記錄,下拉顯示該記錄的所有域。

(2)查看詳細(xì)資料功能

顯示用戶(hù)選定記錄的詳細(xì)信息。

(3)查詢(xún)功能

①用戶(hù)可以通過(guò)姓名匹配查詢(xún);

②精確查詢(xún)或模糊查詢(xún);

③單項(xiàng)查詢(xún)或組合查詢(xún);

(4)增加功能

增加一條新的記錄,四種方式:

①掃二維碼添加;

②ID添加;

③拍照識(shí)別名片添加;

④手動(dòng)添加;

(5)刪除功能

刪除一條記錄,并且提供確認(rèn)機(jī)制。

(6)修改功能

修改任意一條記錄的所有域,其中姓名不能為空。

(7)拍照識(shí)別紙質(zhì)名片功能

用戶(hù)通過(guò)安卓手機(jī)拍照紙質(zhì)名片,快速獲取紙質(zhì)名片信息,并保存為電子名片。

(8)二維碼名片的生成和識(shí)別功能

軟件可以通過(guò)用戶(hù)輸入個(gè)人信息后,在線(xiàn)生成自己的二維碼名片,并可以讓其他用戶(hù)通過(guò)掃描添加。

(9)登錄注冊(cè)功能

對(duì)登錄用戶(hù)的身份進(jìn)行驗(yàn)證,通過(guò)者可以使用軟件云備份和云回復(fù)功能,以及掛載個(gè)人電子名片到云端供其他用戶(hù)下載。

(10)電子名片夾的云備份和云恢復(fù)功能

用戶(hù)可以把本地的電子名片夾數(shù)據(jù)在線(xiàn)備份到服務(wù)器中,更換設(shè)備或者丟失數(shù)據(jù)后,也可以在線(xiàn)恢復(fù)電子名片夾數(shù)據(jù)。

(11)電子名片的互傳共享功能

用戶(hù)之間可是通過(guò)互相掃描二維碼交換電子名片,也可以通過(guò)用戶(hù)賬戶(hù)ID一鍵獲取對(duì)方電子名片,便捷綠色無(wú)紙化的互傳共享。

(12)幫助功能

為用戶(hù)提供幫助,快捷便捷了解軟件功能和使用操作。

3.3性能需求

3.3.1 數(shù)據(jù)準(zhǔn)確性

查詢(xún)時(shí)應(yīng)保證查全率,所有相應(yīng)域包含查詢(xún)關(guān)鍵字的記錄都應(yīng)能查到;

查詢(xún)時(shí)應(yīng)保證查準(zhǔn)率,查到的記錄應(yīng)與給定的單項(xiàng)或組合查詢(xún)條件完全匹配。

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)性

滿(mǎn)足個(gè)人使用的需求;

對(duì)前面提到的運(yùn)行環(huán)境要求不應(yīng)存在困難。

4系統(tǒng)設(shè)計(jì)

4.1技術(shù)架構(gòu)設(shè)計(jì)

安卓電子名片管理器選用MVC架構(gòu),使用Java語(yǔ)言。采用三層設(shè)計(jì)模式,通過(guò)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í)體類(lèi)設(shè)計(jì)了用戶(hù)注冊(cè)實(shí)體類(lèi)RegisterActivity、編輯信息實(shí)體類(lèi)PersonInfoActivity、名片夾實(shí)體類(lèi)MainFragment、個(gè)人卡實(shí)體類(lèi)PersonalCenterFragment、云同步實(shí)體類(lèi)ShareFragment、設(shè)置實(shí)體類(lèi)SettingFragment等。

系統(tǒng)表示層主要由xml技術(shù)實(shí)現(xiàn),核心頁(yè)面上有用戶(hù)登錄頁(yè)面login_fragment.xml、用戶(hù)注冊(cè)頁(yè)面register_fragment.xml、電子名片夾頁(yè)面main_fragment.xml、個(gè)人卡頁(yè)面person_center_fragment.xml、設(shè)置頁(yè)面setting_fragment.xml、云同步頁(yè)面share_card_fragment.xml等。

4.2功能概要設(shè)計(jì)

根據(jù)安卓電子名片管理器的需求分析和功能設(shè)計(jì)分析,軟件取名為萬(wàn)友,即萬(wàn)千朋友,也指這款軟件包括一個(gè)好友所有的聯(lián)系方式,每張電子名片上可以瀏覽到好友相關(guān)的聯(lián)系方式,同時(shí)方便用戶(hù)互相推薦使用 。

安卓電子名片管理器(以下簡(jiǎn)稱(chēng)萬(wàn)友)的功能概要設(shè)計(jì),如圖4.3所示。


圖4.3 功能概要設(shè)計(jì)圖

根據(jù)功能概要設(shè)計(jì)圖得知,本軟件需設(shè)計(jì)四個(gè)模塊:萬(wàn)友電子名片夾模塊、個(gè)人電子卡模塊、同步模塊、設(shè)置模塊。

(1)萬(wàn)友電子名片夾模塊

萬(wàn)友電子名片夾模塊主要包括添加、編輯、刪除電子名片(下稱(chēng)萬(wàn)有卡)、電子名片列表四個(gè)子模塊。

在論文的功能需求分析中,四種添加電子名片的方式是本設(shè)計(jì)的重點(diǎn)也是難點(diǎn),其中的一種方式是拍照識(shí)別名片,用到的是OCR光學(xué)識(shí)別字符技術(shù);另外一種是通過(guò)ID添加,用戶(hù)通過(guò)注冊(cè)獲得用戶(hù)ID,這個(gè)ID是唯一標(biāo)識(shí)用戶(hù)身份的標(biāo)志,在這里稱(chēng)為萬(wàn)友號(hào),用戶(hù)可以根據(jù)這個(gè)ID用來(lái)獲取其他注冊(cè)用戶(hù)的電子名片信息。

(2)個(gè)人電子卡模塊

個(gè)人電子卡模塊主要包括編輯個(gè)人電子卡信息、個(gè)人電子卡展示、獲取萬(wàn)友號(hào)、生成二維碼信息四個(gè)子模塊。

(3)同步模塊

同步模塊主要包括備份電子名片夾、恢復(fù)電子名片夾、上傳個(gè)人電子名片三個(gè)子模塊。

(4)設(shè)置模塊

設(shè)置模塊主要包括注冊(cè)賬戶(hù)、登錄賬戶(hù)、切換賬戶(hù)、幫助、推薦分享、萬(wàn)友號(hào)開(kāi)關(guān)等六個(gè)子模塊。

4.3功能詳細(xì)設(shè)計(jì)

本軟件涉及到的部分基礎(chǔ)數(shù)據(jù)相關(guān)類(lèi)圖如圖所示。

圖4.4 名片信息封裝類(lèi) 圖4.5 名片夾適配器類(lèi)

圖4.6個(gè)人卡類(lèi) 圖4.7 設(shè)置類(lèi)

4.4數(shù)據(jù)庫(kù)設(shè)計(jì)

本軟件涉及到的相關(guān)數(shù)據(jù)庫(kù)表設(shè)計(jì)如下所示。

(1)客戶(hù)端電子名片信息資料表:該表主要用于存放名片的基本信息。設(shè)計(jì)如表4.1所示。

表4.1電子名片信息資料表(cardmsg)

續(xù)表4.1電子名片信息資料表(cardmsg)


(2)服務(wù)端用戶(hù)管理表:該表主要用于存放用戶(hù)的賬戶(hù)信息和基本信息。設(shè)計(jì)如表4.2所示。

表4.2服務(wù)端用戶(hù)管理表(cardinfo)

5軟件實(shí)現(xiàn)

5.1服務(wù)端數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)

利用JDBC來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接和一般處理。具體實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接的主要代碼如下:

(1)調(diào)用Class.forName()方法加載驅(qū)動(dòng)程序:

Class.forName("com.mysql.jdbc.Driver");

(2)定義數(shù)據(jù)庫(kù)連接的地址,不同數(shù)據(jù)庫(kù)連接地址不一樣:

String mysqlURL="jdbc:mysql://localhost:port/dbname";

(3)調(diào)用getConnection()方法建立連接:

Connection conn=DriverMannager.getConnection(URL,"數(shù)據(jù)庫(kù)用戶(hù)名","數(shù)據(jù)庫(kù)密碼");

(4)使用createStatement方法創(chuàng)建Statement語(yǔ)句對(duì)象。

(5)執(zhí)行數(shù)據(jù)庫(kù)語(yǔ)句:Statement提供了executeQuery、executeUpdate和execute三個(gè)方法,分別用于查詢(xún)語(yǔ)句、插入刪除修改語(yǔ)句和通用語(yǔ)句(既可查詢(xún)又可增刪改)。

(6)對(duì)數(shù)據(jù)庫(kù)返回的結(jié)果集ResultSet進(jìn)行處理。

(7)關(guān)閉連接,釋放資源。

5.2軟件功能實(shí)現(xiàn)

軟件界面設(shè)計(jì)整體色調(diào)樸素大方,標(biāo)題欄深灰藍(lán)色給人沉穩(wěn)大方的商務(wù)感覺(jué),符合本應(yīng)用目標(biāo)人群;底色則采用8%灰色,給人最舒適的視覺(jué)感受。側(cè)邊導(dǎo)航欄設(shè)計(jì)符合用戶(hù)的使用習(xí)慣,方便用戶(hù)操作使用。

5.2.1用戶(hù)注冊(cè)登錄模塊實(shí)現(xiàn)

(1)用戶(hù)注冊(cè)

軟件注冊(cè)界面如圖5.1、5.2所示。


圖5.1 注冊(cè)(輸入法不可見(jiàn))界面 圖5.2 注冊(cè)(輸入法可見(jiàn))注冊(cè)界面

注冊(cè)界面各控件及其功能說(shuō)明如表5.1所示。

表5.1注冊(cè)界面各控件及其功能說(shuō)明表

用戶(hù)想使用軟件的備份、恢復(fù)電子名片夾功能,需要先注冊(cè)。注冊(cè)時(shí)需要填寫(xiě)萬(wàn)友號(hào)即用戶(hù)名,密碼,確認(rèn)密碼,三項(xiàng)全部填寫(xiě)完成后并通過(guò)驗(yàn)證后,點(diǎn)擊完成按鈕進(jìn)行注冊(cè)驗(yàn)證,如果驗(yàn)證通過(guò),則提示注冊(cè)成功并跳轉(zhuǎn)到登錄界面,如果認(rèn)證失敗則提示錯(cuò)誤信息。

注冊(cè)功能的邏輯實(shí)現(xiàn)為:客戶(hù)端獲取用戶(hù)的輸入內(nèi)容,并通過(guò)HttpGet方式把用戶(hù)輸入的萬(wàn)友號(hào)和密碼發(fā)送給服務(wù)器Servlet,服務(wù)器獲取客戶(hù)端傳送過(guò)來(lái)的萬(wàn)友號(hào)和密碼,從數(shù)據(jù)庫(kù)中查詢(xún)?nèi)f友號(hào)是否被注冊(cè)過(guò),如果沒(méi)有找到相應(yīng)的數(shù)據(jù),則認(rèn)為注冊(cè)成功,返回注冊(cè)成功信息;如果找到有對(duì)應(yīng)的記錄,則認(rèn)為注冊(cè)失敗,返回注冊(cè)失敗信息。客戶(hù)端HttpResponse接收并解析服務(wù)端返回來(lái)的數(shù)據(jù),通過(guò)判斷返回?cái)?shù)據(jù)提示用戶(hù)是否注冊(cè)成功。用戶(hù)注冊(cè)成功后,客戶(hù)端自動(dòng)跳轉(zhuǎn)到登錄界面。

(2)用戶(hù)登錄

軟件登錄界面如圖5.3、5.4所示。

登錄界面各控件及其功能說(shuō)明如表5.2所示。

表5.2登錄界面各控件及其功能說(shuō)明表


鈕進(jìn)行登錄認(rèn)證,如果認(rèn)證通過(guò)則可以使用軟件的備份和恢復(fù)等功能,如果認(rèn)證失敗則會(huì)提示錯(cuò)誤信息。

登錄功能的邏輯實(shí)現(xiàn)與注冊(cè)的邏輯實(shí)現(xiàn)類(lèi)似,在此做簡(jiǎn)要概述,也是通過(guò)HttpGet方式攜帶登錄參數(shù)并發(fā)出登錄請(qǐng)求給服務(wù)器,服務(wù)器接受并處理請(qǐng)求數(shù)據(jù)并返回給客戶(hù)端登錄結(jié)果。

通過(guò)登錄注冊(cè)可以看到,軟件做了人性化的設(shè)置,當(dāng)用戶(hù)使用登錄注冊(cè)功能時(shí),當(dāng)彈出輸入法的時(shí)候,輸入框會(huì)自動(dòng)向上移動(dòng),避免遮輸入法擋住輸入框,使得用戶(hù)輸入更加快捷方便。

5.2.2側(cè)邊導(dǎo)航欄模塊實(shí)現(xiàn)

軟件側(cè)邊導(dǎo)航界面如圖5.5所示。


圖5.5 側(cè)邊導(dǎo)航界面

側(cè)邊導(dǎo)航界面各控件及其功能說(shuō)明如表5.3所示。

表5.3側(cè)邊導(dǎo)航界面各控件及其功能說(shuō)明表

用戶(hù)通過(guò)左滑或者點(diǎn)擊顯示側(cè)邊導(dǎo)航按鈕可看到整款軟件的四大部分:萬(wàn)友夾、個(gè)人卡、設(shè)置、同步。點(diǎn)擊每個(gè)條目,加載相應(yīng)的功能界面。

左側(cè)導(dǎo)航主題主要是用的是ResideMenu框架控件,屬于自定義控件,繼承FrameLayout,通過(guò)自定義編寫(xiě)實(shí)現(xiàn)效果。

左側(cè)導(dǎo)航四個(gè)子模塊主題主要是用的是ResideMenuItem控件,屬于自定義控件,繼承LinearLayout,通過(guò)自定義編寫(xiě)實(shí)現(xiàn)效果。

核心代碼如下:

resideMenu = new ResideMenu(this);

resideMenu.setBackground(R.drawable.menu_background);//設(shè)置背景

resideMenu.attachToActivity(this);

resideMenu.setScaleValue(0.6f);//設(shè)置側(cè)滑左右顯示比例

mainItem = new ResideMenuItem(this,

R.drawable.menu_item_icon_wanyoujia, "萬(wàn)友夾");

mainItem.setOnClickListener(itemListener);

personalCenterItem = new ResideMenuItem(this,

R.drawable.menu_item_icon_person, "個(gè)人卡");

personalCenterItem.setOnClickListener(itemListener);

settingItem = new ResideMenuItem(this,

R.drawable.menu_item_icon_set,"設(shè) 置");

settingItem.setOnClickListener(itemListener);

shareItem = new ResideMenuItem(this,

R.drawable.menu_item_icon_share,"同 步");

shareItem.setOnClickListener(itemListener);

5.2.3電子名片夾(萬(wàn)友夾)模塊實(shí)現(xiàn)

軟件電子名片夾如圖5.6、5.7所示。


圖5.6 萬(wàn)友夾界面1 圖5.7 萬(wàn)友夾界面2

電子名片夾界面各控件及其功能說(shuō)明如表5.4所示。

表5.4電子名片夾界面各控件及其功能說(shuō)明表

用戶(hù)在首次進(jìn)入電子名片夾(萬(wàn)友夾)中時(shí)候,由于本地沒(méi)有名片數(shù)據(jù),界面顯示無(wú)數(shù)據(jù),并提示用戶(hù)點(diǎn)擊添加按鈕img_More,點(diǎn)擊后彈出選擇框,分別為是掃碼添加按鈕barcode_Bt、萬(wàn)友號(hào)添加按鈕wanyoumaAdd_Bt、拍照名片添加按鈕takephoto_Bt、手動(dòng)添加按鈕manuallyAdd_Bt,用戶(hù)根據(jù)相應(yīng)的方式添加電子名片,萬(wàn)友夾界面如圖5.8所示,四種添加方式如圖5.9所示。

用戶(hù)添加電子名片信息后,將名片信息保存到數(shù)據(jù)庫(kù)電子名片信息資料表cardmsg中(可在表4.1中查看表結(jié)構(gòu)),在重新加載萬(wàn)友夾界面的時(shí)候,從數(shù)據(jù)庫(kù)中cardmsg表讀取數(shù)據(jù)顯示名片夾列表mListView上,顯示萬(wàn)友夾效果,效果如圖5.6所示。

核心代碼如下:

impl_card = BeanFactory.getImpl(CardMsgDao.class);

new Thread(new Runnable() {

@Override

public void run() {

cardMsgPO = new CardMsgPO(0, name, post, mobilephone,

email, qq, url, weibo, wechat, address,company, "", tellphone, "");

if (photoUrl != null && !"".equals(photoUrl)) {

cardMsgPO.setHeadUrl(photoUrl);

}

long insert = impl_card.insert(cardMsgPO);

Message msg = mHandler.obtainMessage();

if (insert > 0) {

msg.what = 1;

msg.obj = impl_card.findAll();

mHandler.sendMessage(msg);

} else {

msg.what = 2;

mHandler.sendMessage(msg);

}

}

}).start();

用戶(hù)點(diǎn)擊萬(wàn)友夾中的每張電子名片時(shí),會(huì)下拉彈出電子名片詳情,用戶(hù)可以查看好友的電子名片信息,并選擇相應(yīng)的聯(lián)系方式與好友進(jìn)行聯(lián)系。

萬(wàn)友夾中每張電子名片點(diǎn)擊下拉伸縮效果實(shí)現(xiàn)邏輯:

通過(guò)查詢(xún)文獻(xiàn)和網(wǎng)絡(luò)檢索后,基于第三方開(kāi)源庫(kù) ListViewAnimation ,加入自定義設(shè)計(jì)和改編來(lái)實(shí)現(xiàn)帶有點(diǎn)擊下拉伸縮效果的電子卡片的效果,使用步驟如下:

(1)導(dǎo)入第三方庫(kù),設(shè)置Library

(2)創(chuàng)建MyExpandableListItemAdapter繼承ExpandableListItemAdapter<CardMsgPO>,其中CardMsgPo是封裝好的電子名片姓名,地址,電話(huà)等信息屬性類(lèi),并且這些信息與本地SQLite的名片夾表連接和一一對(duì)應(yīng)

(3)方法調(diào)用如下

mExpandableListItemAdapter=new MyExpandableListItemAdapter(

mContext,MyApplication.getInstance().currentCardList);

alphaInAnimationAdapter = new AlphaInAnimationAdapter(mExpandableListItemAdapter);

alphaInAnimationAdapter.setAbsListView(mListView);

mExpandableListItemAdapter.setLimit(1);

mListView.setAdapter(alphaInAnimationAdapter);

5.2.4同步模塊實(shí)現(xiàn)

軟件同步模塊界面如圖5.10所示。

圖5.10 同步主界面

同步界面各控件及其功能說(shuō)明如表5.5所示。

表5.5同步界面各控件及其功能說(shuō)明表

用戶(hù)在使用上述三個(gè)功能前,必須先登錄成功或者是登錄成功狀態(tài)的,如果沒(méi)有登錄進(jìn)行認(rèn)證,不能使用此功能。這三個(gè)功能實(shí)現(xiàn)方式類(lèi)似,在此介紹恢復(fù)功能如何實(shí)現(xiàn)。

同步功能邏輯為:客戶(hù)端查詢(xún)本地?cái)?shù)據(jù)庫(kù)中所有電子名片信息和萬(wàn)友號(hào),并通過(guò)HttpPost方式把用戶(hù)的電子名片信息和萬(wàn)友號(hào)發(fā)送給服務(wù)器Servlet,服務(wù)器獲取客戶(hù)端傳送過(guò)來(lái)的數(shù)據(jù),從數(shù)據(jù)庫(kù)中查詢(xún)?nèi)f友號(hào)是否被注冊(cè)過(guò),如果找到有對(duì)應(yīng)的萬(wàn)友號(hào),則把數(shù)據(jù)解析并插入到服務(wù)器用戶(hù)管理表cardinfo中(表結(jié)構(gòu)如表4.2所示),再返回是否同步成功信息。客戶(hù)端HttpResponse接收并解析服務(wù)端返回來(lái)的數(shù)據(jù),通過(guò)判斷返回?cái)?shù)據(jù)提示用戶(hù)是否同步成功。

核心代碼如下:

new Thread(new Runnable() {

@Override

public void run() {

CardMsgDao impl = BeanFactory.getImpl(CardMsgDao.class);

//查詢(xún)數(shù)據(jù)庫(kù)獲得所有的電子名片信息

List<CardMsgPO> findAll = impl.findAll();

f (findAll.size() <= 0) {

mHandler.sendEmptyMessage(5);

impl.close();

return;

}

impl.close();

try {

HttpParams params = new BasicHttpParams();

// 超時(shí)設(shè)置

/* 從連接池中取連接的超時(shí)時(shí)間 */

ConnManagerParams.setTimeout(params, 1000);

/* 連接超時(shí) */

HttpConnectionParams.setConnectionTimeout(params, 2000);

/* 請(qǐng)求超時(shí) */

HttpConnectionParams.setSoTimeout(params, 4000);

DefaultHttpClient client = new DefaultHttpClient(params);

HttpPost post = new HttpPost(path);

List<BasicNameValuePair> nvps = new

ArrayList<BasicNameValuePair>();

nvps.add(new BasicNameValuePair("user_name", user_name));

nvps.add(new BasicNameValuePair("content", json_cards));

post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

HttpResponse response = client.execute(post);

HttpEntity entity = 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)界面

用戶(hù)首次打開(kāi)軟件時(shí)會(huì)出現(xiàn)四個(gè)歡迎界面,是專(zhuān)門(mén)為用戶(hù)設(shè)計(jì)的快速了解軟件的 防騷擾功能、UI設(shè)計(jì)理念,使用戶(hù)能在美感中查看軟件特色并快速學(xué)習(xí)軟件的使用方法。

歡迎引導(dǎo)界面各控件及其功能說(shuō)明如表5.6所示。

表5.6歡迎引導(dǎo)界面各控件及其功能說(shuō)明表

核心代碼如下:

// 獲取頁(yè)面實(shí)例

pager = (ViewPager) findViewById(R.id.pager);

// 設(shè)置頁(yè)面滑動(dòng)監(jiān)聽(tīng)器

pager.setOnPageChangeListener();

// 創(chuàng)建頁(yè)面適配器

adapter = new GuideAdapter(this);

// 添加第一頁(yè)

adapter.addPage(R.drawable.guide1);

// 添加第二頁(yè)

adapter.addPage(R.drawable.guide2);

// 添加第三頁(yè)

adapter.addPage(R.drawable.guide3);

// 添加第四頁(yè)

adapter.addPage(R.drawable.guide);

pager.setAdapter(adapter);

5.2.6拍照紙質(zhì)名片識(shí)別信息功能

本軟件為用戶(hù)提供了通過(guò)使用拍照紙質(zhì)名片識(shí)別并快速獲取信息的功能,使用的技術(shù)是光學(xué)字符識(shí)別技術(shù)。

軟件拍照識(shí)別紙質(zhì)名片信息功能如圖5.12所示

圖5.12 拍照識(shí)別功能

光學(xué)字符識(shí)別(Optical Character Recognition,OCR),其工作原理為通過(guò)掃描儀、照相機(jī)等光學(xué)設(shè)備,將整頁(yè)文本圖像輸入計(jì)算機(jī),將文檔資料轉(zhuǎn)換成黑白點(diǎn)陣的圖像文件,然后通過(guò)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é)省了因鍵盤(pán)輸入的人力和時(shí)間。從影像到結(jié)果輸出,需要經(jīng)過(guò)圖像文字轉(zhuǎn)換、圖像的二值化、單字切割、文字特征抽取、對(duì)比識(shí)別、以及人工校正,最后將識(shí)別結(jié)果輸出[9]。

本軟件中,通過(guò)拍照紙質(zhì)名片,獲取名片上的文字信息正是通過(guò)以上原理實(shí)現(xiàn)的。實(shí)現(xiàn)邏輯為:當(dāng)點(diǎn)擊拍照后,調(diào)用Android系統(tǒng)照相機(jī)Camera.PictureCallback類(lèi),并重寫(xiě)onPictureTaken(byte[] data, Camera camera)方法,data為拍照的數(shù)據(jù)流,在該方法中啟動(dòng)線(xiàn)程recThread = new RecThread(data, handler, ocrManager);傳入數(shù)據(jù)流,隨后在線(xiàn)程中調(diào)用本地寫(xiě)好的libnamecardrec.so的方法,libnamecardrec.so是已經(jīng)寫(xiě)好的C語(yǔ)言庫(kù),用來(lái)處理data數(shù)據(jù),并返回經(jīng)過(guò)識(shí)別處理后的數(shù)據(jù)。

5.2.7二維碼的生成和識(shí)別

本軟件為用戶(hù)提供了二維碼生成和識(shí)別功能,當(dāng)前二維碼名片已經(jīng)開(kāi)始流行,用戶(hù)可以使用此功能,快速精準(zhǔn)的獲取名片信息。

二維碼的生成和識(shí)別用的是QR Code編碼解碼jar包:ZXing。ZXing是一個(gè)開(kāi)放源碼的,用Java實(shí)現(xiàn)的多種格式的1D/2D條碼圖像處理庫(kù),它包含了聯(lián)系到其他語(yǔ)言的端口。Zxing可以實(shí)現(xiàn)使用手機(jī)的內(nèi)置的攝像頭完成條形碼的掃描及解碼。

ZXing庫(kù)二維碼識(shí)別主要的類(lèi)以及這些類(lèi)的作用:

CaptureActivity。這個(gè)是啟動(dòng)Activity 也就是掃描器。

CaptureActivityHandler 解碼處理類(lèi),負(fù)責(zé)調(diào)用另外的線(xiàn)程進(jìn)行解碼。

DecodeThread 解碼的線(xiàn)程。

com.google.zxing.client.android.camera 包,攝像頭控制包。

ViewfinderView 自定義的View,掃描二維碼時(shí)中間的掃描框。

二維碼生成核心代碼:

Hashtable<EncodeHintType, String> hints = new

Hashtable<EncodeHintType, String>();

hints.put(EncodeHintType.CHARACTER_SET, "utf-8");

// 把輸入的文本轉(zhuǎn)為二維碼

BitMatrix bitMatrix = new QRCodeWriter().encode(text,

BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);

6軟件測(cè)試

6.1軟件測(cè)試概述

6.1.1軟件測(cè)試目的

因?yàn)樵诔绦蛑型嬖谥S多預(yù)料不到的問(wèn)題,可能會(huì)被疏漏,許多隱藏的錯(cuò)誤只有在特定的環(huán)境下才可能暴露出來(lái)。如果不把著眼點(diǎn)放在盡可能查找錯(cuò)誤這樣一個(gè)基礎(chǔ)上,這些隱藏的錯(cuò)誤和缺陷就查不出來(lái),會(huì)遺留到運(yùn)行階段中去。如果站在用戶(hù)的角度替他們?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í)行程序的過(guò)程;

(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í)行程序的過(guò)程”。

6.1.2軟件測(cè)試的原則

軟件測(cè)試,從不同的角度出發(fā)會(huì)派生出兩種不同的測(cè)試原則。從用戶(hù)的角度出發(fā),就是希望通過(guò)軟件測(cè)試能充分暴露軟件中存在的問(wèn)題和缺陷;從開(kāi)發(fā)者的角度出發(fā),就是希望測(cè)試能表明軟件產(chǎn)品不存在錯(cuò)誤,已經(jīng)正確地實(shí)現(xiàn)了用戶(hù)的需求。

為了達(dá)到上述的原則,需要注意以下幾點(diǎn):

(1)應(yīng)當(dāng)把“盡早和不斷地測(cè)試”作為開(kāi)發(fā)者的座右銘。

(2)程序員應(yīng)該避免檢查自己的程序,測(cè)試工作應(yīng)該由獨(dú)立的專(zhuān)業(yè)的軟件測(cè)試機(jī)構(gòu)來(lái)完成。

(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)的過(guò)程。一般有A測(cè)試出來(lái)的錯(cuò)誤,一定要有一個(gè)B來(lái)確認(rèn),嚴(yán)重的錯(cuò)誤可以召開(kāi)評(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)象并不少見(jiàn)。

(8)妥善保存一切測(cè)試過(guò)程文檔,意義是不言而喻的,測(cè)試的重現(xiàn)性往往要靠測(cè)試文檔。

6.2軟件測(cè)試環(huán)境

本軟件采用Android虛擬機(jī)Genymotion。genymotion安卓模擬器其實(shí)不是普通的模擬器,嚴(yán)格來(lái)說(shuō),genymotion是虛擬機(jī),被網(wǎng)傳定義為模擬器,genymotion虛擬機(jī)希望能夠給測(cè)試人員帶來(lái)最好的Android模擬體驗(yàn)。選用測(cè)試虛擬機(jī)為Google Galaxy Nexus、Google Nexus S、Google Nexus 5三個(gè)屏幕分辨率的手機(jī),由于需要對(duì)二維碼掃描和拍照名片識(shí)別做測(cè)試,所以需要真機(jī)作為測(cè)試,選用真機(jī)為vtelX1手機(jī)。具體參數(shù)入下表6.1所示:

表6.1手機(jī)參數(shù)規(guī)格

6.3測(cè)試用例

6.3.1功能測(cè)試

由于本軟件的功能和子功能比較多,在此只列舉出用戶(hù)登錄模塊功能和用戶(hù)備份電子名片夾模塊功能的測(cè)試數(shù)據(jù)及結(jié)果。

(1)用戶(hù)登錄測(cè)試,如表6.2所示。

表6.2用戶(hù)登錄測(cè)試

在本軟件中,用戶(hù)只有輸入正確的用戶(hù)名、密碼并且網(wǎng)絡(luò)正常的情況下才能使用本軟件的備份萬(wàn)友夾功能、恢復(fù)萬(wàn)友夾功能、共享個(gè)人名片等功能。

(2)用戶(hù)備份電子名片夾測(cè)試,如表6.3所示。

表6.3用戶(hù)備份電子名片夾測(cè)試

6.4測(cè)試結(jié)論

使用了大量測(cè)試,測(cè)試了安卓電子名片管理器的基本功能,分不同權(quán)限的用戶(hù)分別使用了不同的測(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語(yǔ)言,采用三層設(shè)計(jì)模式,通過(guò)Eclipse技術(shù)、JDBC技術(shù)、MySQl技術(shù)、SQlite技術(shù)、Servlet技術(shù)進(jìn)行設(shè)計(jì)。本軟件用戶(hù)通過(guò)首次安裝瀏覽歡迎引導(dǎo)界面后進(jìn)入軟件。進(jìn)入軟件后,用戶(hù)先進(jìn)入的是電子名片夾模塊,并提示用戶(hù)可以使用右上角的添加按鈕,選擇添加電子名片的四種方式:掃碼添加、萬(wàn)友號(hào)添加、拍照添加、手動(dòng)添加。用戶(hù)根據(jù)添加提示,成功添加名片信息后,將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,并返回到電子名片夾中,此時(shí)名片夾中顯示出電子名片列表,用戶(hù)可以點(diǎn)擊電子名片進(jìn)行編輯、刪除、查看并選擇相應(yīng)的聯(lián)系方式與好友聯(lián)系。用戶(hù)通過(guò)左滑,可以看到側(cè)邊導(dǎo)航的四大模塊:萬(wàn)友夾、個(gè)人卡、設(shè)置、同步功能模塊,用戶(hù)根據(jù)需求查看各個(gè)模塊,根據(jù)提示使用電子名片夾備份、恢復(fù)、編輯個(gè)人電子名片、生成二維碼名片等功能。至此,本軟件的基本功能已經(jīng)實(shí)現(xiàn),基本完成了任務(wù)書(shū)中所列出的任務(wù)。

7.2完成內(nèi)容

(1)萬(wàn)友夾(電子名片夾)模塊

該模塊的子模塊:掃二維碼碼添加電子名片功能、根據(jù)萬(wàn)友號(hào)添加電子名片功能、拍照添加電子名片功能、手動(dòng)添加電子名片功能、搜索功能、電子名片列表顯示和管理功能,全部按照預(yù)期結(jié)果完成。

(2)個(gè)人卡模塊

該模塊的子模塊:個(gè)人電子名片管理功能、獲取萬(wàn)友號(hào)功能、生成個(gè)人二維碼電子名片功能,全部按照預(yù)期結(jié)果完成。

(3)設(shè)置模塊

該模塊的子模塊:注冊(cè)登錄功能、通知欄常駐功能、萬(wàn)友號(hào)開(kāi)啟功能、檢查更新功能、推薦分享功能、關(guān)于模塊、幫助模塊,全部按照預(yù)期結(jié)果完成。

(4)同步模塊

該模塊的子模塊:備份萬(wàn)友夾功能、恢復(fù)萬(wàn)友夾功能、個(gè)人名片分享功能,全部按照預(yù)期結(jié)果完成。

7.3尚存在的問(wèn)題

在實(shí)現(xiàn)本軟件的基本功能后,用戶(hù)可以查看在電子名片上的QQ、微信等信息,通過(guò)點(diǎn)擊可以直接復(fù)制賬戶(hù)跳轉(zhuǎn)到相應(yīng)的應(yīng)用中,但是由于時(shí)間緊迫,還沒(méi)有實(shí)現(xiàn)通過(guò)調(diào)用QQ、微信、微博API可以直接通過(guò)萬(wàn)友添加QQ好友,給QQ好友留言等。另外,拍照名片的識(shí)別率不夠高,電子名片分組和搜索等功能有待優(yōu)化。

7.4展望

在本文和本軟件不斷完善的過(guò)程中,安卓電子名片管理器(萬(wàn)友)將會(huì)成為一個(gè)更高效、更方便的軟件。

隨著手機(jī)通訊錄功能的不斷加強(qiáng)與完善,手機(jī)通訊錄對(duì)于人們的意義,已不僅僅像記事簿一樣顯示通訊地址,而是向著個(gè)性化、人性化的方向發(fā)展。通訊錄從無(wú)到有,從英文到中文,經(jīng)過(guò)了十幾年的發(fā)展歷程,今后的發(fā)展趨勢(shì)就是從通訊錄發(fā)展為名片夾,也就是在一個(gè)人名下,可以存儲(chǔ)座機(jī)、手機(jī)、單位、地址、電子郵件、QQ、微信、微博等內(nèi)容。萬(wàn)友在電話(huà)薄的基礎(chǔ)上,大大豐富了內(nèi)容,同時(shí)結(jié)構(gòu)也發(fā)生了革命性變化,而且隨著手機(jī)的發(fā)展,相信萬(wàn)友會(huì)越來(lái)越受到社會(huì)各層人士的喜愛(ài)。

參考文獻(xiàn)

[1] 郭宏志.?Android應(yīng)用開(kāi)發(fā)詳解[M].電子工業(yè)出版社,2010.

[2] 楊豐盛.?Android應(yīng)用開(kāi)發(fā)揭秘[M].機(jī)械工業(yè)出版社,2012.

[3]?柯元旦.?Android內(nèi)核剖析[M].電子工業(yè)出版社,2011.

[4] 夏偉. 電子名片掘金新商務(wù)時(shí)代[J] .大眾商務(wù), 2007,15:01-02.

[5] 阿離. Android5.0棒棒糖輕度體驗(yàn)[J].電腦迷,2015,01:01-02.

[6] 陳晨. 揭秘Android5.0有史以來(lái)最開(kāi)放的安卓[J].計(jì)算機(jī)與網(wǎng)絡(luò),2014,21:01-02.

[7] 朱懷中. 基于Android的手機(jī)OCR識(shí)別技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2012, 25(09):01-05.

[8] 臧國(guó)全.文本數(shù)字化圖像OCR識(shí)別的準(zhǔn)確度測(cè)度實(shí)驗(yàn)與提高 [J].圖書(shū)情報(bào)知識(shí),2010,(3):62-66.

[9] 劉巖,薛濤,李周,等.圖像處理和文字識(shí)別技術(shù)在手機(jī)軟件自動(dòng)化測(cè)試系統(tǒng)中的應(yīng)用[J].現(xiàn)代電信科技,2009(7):50-53.

[10] 張白一. 面向?qū)ο蟮某绦蛟O(shè)計(jì)-JAVA[M].西安電子科技大學(xué)出版社,2008.

[11] 靳巖,姚尚朗. Google Android 開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)[M]. 北京: 人民郵電出版社, 2009: 1-12.

[12] 景保玉. 2010中國(guó)移動(dòng)應(yīng)用開(kāi)發(fā)現(xiàn)狀與趨勢(shì)大調(diào)查[M]. 北京: 人民郵電出版社, 2011: 2-19.

[13] 公磊,周聰. Android的移動(dòng)應(yīng)用終端應(yīng)用程序開(kāi)發(fā)與研究[J]. 南昌: 計(jì)算機(jī)與現(xiàn)代化, 2008: 8: 85-89.

[14] 高峰.?二維條形碼手機(jī)識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2008.

[15] 王毅.?二維條碼技術(shù)應(yīng)用及標(biāo)準(zhǔn)化狀況介紹[J].中國(guó)標(biāo)準(zhǔn)化,2006,(05):25-26.

[16] 周曉偉.二維條碼識(shí)別技術(shù)研究[D].上海:上海交通大學(xué),2007.

[17] KATO H,TANK.T.2D barcodes for mobile phones[A].Washing,DC:IEEE Computer Society,2005.48-55.

[18] RUSSA.Two dimensional bar codes[J].Adams Communications,2002,(04):15-18.

致謝

在論文寫(xiě)作期間,通過(guò)張麟華老師細(xì)心的指導(dǎo),我順利完成了畢業(yè)設(shè)計(jì)。從在我不知道如何開(kāi)始著手的時(shí)候,到有了基本思路并構(gòu)思出系統(tǒng)結(jié)構(gòu),張老師殷勤的指導(dǎo)讓我醍醐灌頂,茅塞頓開(kāi)。至此,沒(méi)有張老師的指導(dǎo),我的畢業(yè)論文也不會(huì)完成。在這里首先對(duì)張老師表示深深的謝意。

其次,也同樣感謝同學(xué)和一切對(duì)我的關(guān)心和幫助的人們,在我寫(xiě)作期間,各位同學(xué)積極給予我?guī)椭?,幫助我查閱資料,調(diào)試軟件,提出建議,舍友也為我提供了安靜的學(xué)習(xí)氛圍。也同樣感謝太原工業(yè)學(xué)院和圖書(shū)館給了我一個(gè)自我學(xué)習(xí)的良好環(huán)境。

最后,感謝這四年來(lái)教過(guò)我的老師們,老師們對(duì)我的諄諄教誨。是他們給了我良好的專(zhuān)業(yè)知識(shí),讓我充實(shí)了大學(xué)四年,也為我的畢業(yè)設(shè)計(jì)積累了扎實(shí)的基礎(chǔ)。

在臨近畢業(yè)離校之際,在此再次感謝幫助過(guò)我的老師和同學(xué)們。謝謝你們!


安卓電子名片管理器的設(shè)計(jì)與實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
天津市| 巴林左旗| 汉源县| 武胜县| 盐源县| 利辛县| 楚雄市| 东台市| 新安县| 托克逊县| 措美县| 昭觉县| 新绛县| 梁山县| 剑川县| 孟州市| 武宣县| 罗江县| 柳州市| 乌兰浩特市| 虹口区| 合江县| 德惠市| 洛浦县| 黄山市| 永平县| 静宁县| 沭阳县| 黄陵县| 杨浦区| 武义县| 什邡市| 长宁县| 同德县| 抚顺市| 沁水县| 福建省| 汉寿县| 江川县| 麦盖提县| 芒康县|