畢業(yè)設計論文_第1頁
畢業(yè)設計論文_第2頁
畢業(yè)設計論文_第3頁
畢業(yè)設計論文_第4頁
畢業(yè)設計論文_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計[論文]題目:手機安全衛(wèi)士學院:計算機科學與工程學院專業(yè):信息管理與信息系統(tǒng)姓名:學號:指導老師:完畢時間:05月23日摘要隨著智能手機的不停普及,移動互聯網的快速發(fā)展,隨著著3G時代的到來,智能手機的廣泛應用,安卓成為活躍顧客量最大的移動終端操作系統(tǒng),并且安卓操作系統(tǒng)是開放源代碼的,因此每個人都能夠開發(fā)出一種安卓應用,造成安卓的應用數不勝數。由于安卓的開源,造成每個人能夠對安卓端的軟件進行編寫,而有些開發(fā)者在應用中加入某些非法的代碼,竊取顧客的隱私,使得手機的安全問題日益明顯,手機安全問題關注度日益提高。本系統(tǒng)正是針對那些惡意應用的,具體的論述了手機安全衛(wèi)士的開發(fā)流程,涉及手機防盜、通訊衛(wèi)士、軟件管理、進程管理、手機殺毒、系統(tǒng)優(yōu)化、高級工具、設立中心等功效模塊。整體項目采用MVC框架,是對安卓知識點的綜合應用,用到的技術有(活動,服務,廣播接受者,內容提供這,喚醒機制,數據庫,自定義標題,自定義控件,小部件,進程間通訊等)。本項目是通過xml文獻對頁面進行布局,后臺使用java代碼實現每一種業(yè)務邏輯流程,完畢頁面中的每一種需求。本系統(tǒng)采用安卓作為開發(fā)平臺,使用安卓開發(fā)工具作為開發(fā)環(huán)境,后臺使用sqlite數據庫進行數據的存儲和傳輸,來實現手機衛(wèi)士之的數據共享和業(yè)務邏輯的交互。核心詞:手機衛(wèi)士,安卓開發(fā)平臺,MVC框架,數據庫AbstractWiththegrowingpopularityofsmartphonesandtherapiddevelopmentofmobileInternet,Withtheextensiveapplicationofthe3Gera,smartphones,Androidbecamethelargestactiveusersofmobileoperatingsystems,AndtheAndroidoperatingsystemisopensource,soeveryonecandevelopanAndroidapplication,resultinginnumerousAndroidapplications.BecauseAndroidisopensource,leadingeveryonecandevelopAndroidterminalsoftwareforDIY,andsomedeveloperstodevelopsomeillegalcodeintheapplication,tostealtheuser'sprivacy,makingphonesecurityproblemshavebecomeincreasinglyapparent,andthephonesecurityproblemshascausedmanypeople’sconcern.Thesystemisaimedatthosemaliciousapplicationsandthoroughdescribesthedevelopmentprocessofmobilesecurityguards,includingmobilesecurity,communicationsguards,softwaremanagement,processmanagement,mobileantivirus,systemoptimization,advancedtools,setupcentersandotherfunctionalmodules.ThewholeprojectusingMVCframework,isacomprehensiveapplicationofAndroidknowledge,Techniquesusedincludingactivity,service,broadcast,contentprovider,Notification,Database,customtitle,customcontrols,widget,aidlprocesscommunicationandsoon.Thisprojectiscarriedoutbyxmlfilelayoutonthepage,backgroundusingjavacodetoimplementbusinesslogicprocessesandcompletepagedemand.ThesystemusesAndroidasthedevelopmentplatform,usingADT(AndroidDevelopmentTools)asthedevelopmentenvironment.Backgroundusingsqlitedatabasefordatastorageandtransmission,andinthiswayitcanimplementdatasharingandbusinesslogicofthemobilesecurityguards.Keywords:Mobilesecurityguards,AndroidDevelopmentPlatform,MVCframework,sqlitedatabase目錄34891緒論 1264381.1選題背景 1293351.2系統(tǒng)開發(fā)環(huán)境 227061.3本章小結 2196582需求分析 3327302.1可行性分析 3289152.2項目需求分析 3226502.2.1項目的具體功效分析 493152.2.2項目框架介紹 5246642.2.3項目的目錄空間構造 561062.2.4項目代碼的組織構造 640662.3本章小結 6271523有關技術介紹 7314663.1Java技術綜述 7306203.2Android技術 729283.3SQLite數據庫 9110493.4本章小結 1039854項目設計 12225374.1項目設計目的及原則 1272344.2項目的模塊流程圖 12150174.3本章小結 1947255數據庫設計 20218825.1數據庫設計過程描述 20171195.2數據庫概念構造設計 21220875.3數據庫的邏輯構造設計 22195785.4數據庫物理構造設計 24202415.5數據庫實施 25298055.6本章小結 2699546項目具體設計與實現 27271556.1項目的具體功效模塊設計及界面 2726256.1.1顧客體驗界面的設計 27164216.1.2手機防盜功效模塊的設計 2982266.1.3手機偵測與設立功效的設計 34277396.1.4顧客隱私功效的設計 38121766.2項目設計碰到問題的解決方式 41268856.3本章小結 418617項目測試 43123867.1項目測試成果 4311797.2本章小結 4518372結束語 462487致謝 47196參考文獻 481883附錄 491緒論1.1選題背景Android移動終端操作系統(tǒng)由谷歌公司于11月05日推出,Android操作系統(tǒng)是建立于Linux操作系統(tǒng)之上,該平臺有操作系統(tǒng)、中間件、顧客界面和應用軟件層構成。Android操作系統(tǒng)最初由AndyRubin開發(fā),重要支持手機。根據全球出名調查機構Gartner提供的數據,安卓系統(tǒng)在只能手機市場發(fā)占有率達成了二分之一以上。相對于PC的安全性而言,手機安全對顧客的威脅更大。由于手機相對于PC而言其私密性更強,一旦手機遭受到安全攻擊,將帶來直接的經濟損失。因此,為了顧客的隱私和手機安全問題,本次畢業(yè)設計將選擇手機安全衛(wèi)士作為畢業(yè)設計的題目。隨著科技的發(fā)展,移動互聯網已成為當下的趨勢,而擁有Android平臺的終端設備已達成75%的占有率。這都要歸根于其平臺的開放性,明顯的開放性能夠使其擁有更多的開發(fā)者,隨著顧客和應用的日益豐富,使得Android下的應用多而混亂,其中不乏有大量的惡意扣費軟件、盜取顧客隱私的木馬程序等等。這就使得開發(fā)出一種保護顧客隱私和阻截惡意軟件的手機安全衛(wèi)士顯得很有必要。本次開發(fā)的安全衛(wèi)士不僅能夠檢測惡意的軟件,還能綁定顧客的手機,方便在手機丟失后遠程鎖定顧客的手機,甚至遠程銷毀數據,已達成保護顧客隱私的作用。為了開發(fā)出一種適合顧客需求的手機衛(wèi)士,本次設計還借鑒了市面上某些商業(yè)性安全軟件的某些構思和設計技巧。而有的商業(yè)安全軟件的界面不夠人性化,本次項目針對那些缺點進行優(yōu)化設計。而隨著技術的進步,對手機安全衛(wèi)士的開發(fā)提出了更嚴格的規(guī)定和挑戰(zhàn),本次系統(tǒng)設計是以切合實際的發(fā)展趨勢和顧客需求而開發(fā)設計的。國內研究現狀分析,從開始,全球領先的計算機安全廠商紛紛介入移動安全領域,并公布了有關的安全產品,反病毒技術在發(fā)展上大致經歷了下列幾個階段:①針對某個病毒的專有殺毒程序。當手機病毒剛出現的時候,由于病毒數目極少,并且并不含有實質性的危害,安全廠商往往通過提供專有殺毒程序的形式來解決威脅。②基于病毒文獻HASH描述的反病毒掃描技術。是通過給對應的病毒計算HASH,然后通過文獻掃描找到對應的病毒?;贖ASH計算的反病毒引擎算法簡樸,并且病毒定義方式也很容易但是但是由于靈活性及效率因素,很快就被裁減。③基于通用病毒定義語言的反病毒掃描技術。通用的病毒定義語言能夠用最少的代價描述一種或者多個病毒,并極大的優(yōu)化了掃描引擎的性能。1.2系統(tǒng)開發(fā)環(huán)境操作系統(tǒng):MicrosoftWindows7Ultimate開發(fā)平臺:Android開發(fā)環(huán)境:AndroidDevelopmentTools開發(fā)語言:Java數據庫:Sqlite1.3本章小結本章重要介紹了該項目的開發(fā)背景和本項目的特點,以及對市面上某些商業(yè)安全軟件的某些模塊進行小小的優(yōu)化,針對顧客的需求,簡要論述了該項目所要實現的基本功效和目的,并介紹了該項目的支持平臺、開發(fā)環(huán)境、開發(fā)語言以及所要使用的后臺數據庫。

2需求分析2.1可行性分析隨著Android顧客的不停增加,手機安全衛(wèi)士在各個應用下載榜上都名列前茅,國內有諸多成功的案例,如:奇虎360安全衛(wèi)士,金山衛(wèi)士,騰訊手機管家等。而手機衛(wèi)士這個項目乍一看不懂得如何下手,并且其組織關系有很大的復雜性,但認真分析后,發(fā)現它所用到的知識點基本上Android核心的知識點,例如:Android的四大組件、自定義UI布局尚有對某些系統(tǒng)API的綜合運用。并且由于Android的開源,我們還能夠借鑒一下市面上的安全衛(wèi)士的素材和UI布局,全部說如果我們能具體理解項目的開發(fā)流程并且熟悉Android核心的知識點,開發(fā)出這個項目并不存在太大的技術問題。改革開放以來,我國經濟發(fā)展迅猛,而21世紀是信息網絡化的時代,近年來,越來越多的人都擁有自己的移動終端,而開發(fā)出一款能保護顧客隱私和避免惡意軟件損壞顧客手機的安全衛(wèi)士顯得很有必要。這次要開發(fā)的項目能較好的實現手機防盜和病毒查殺的功效,這個項目開發(fā)難度不是太大,并且通過開發(fā)工具能夠導出一種APK文獻,直接能夠安裝到顧客的移動終端上,系統(tǒng)布署對軟硬件規(guī)定不高,顧客操作簡樸,使用比較方便,幾乎不需要對顧客進行專業(yè)培訓就可使用本軟件,不必要耗費那么多的時間,也就是說最重要的是就是提高了效率,而又確保了各項數據的精確性,適應了現在的發(fā)展形式。通過將近幾天的可行性分析和對市場需求的調查,發(fā)現對手機衛(wèi)士的需求還是蠻大的,通過技術和經濟上的分析,開發(fā)出一款手機安全衛(wèi)士是切實可行的,這就為我們后來的準備工作有了一種良好的開端。好的開頭是成功的二分之一,這會是后期開發(fā)的動力之所在。2.2項目需求分析手機安全衛(wèi)士是針對當下形勢需求而開發(fā)的,Android系統(tǒng)的火爆和開源,使得顧客的資料都沒有安全保障,因此一款適應潮流的手機安全衛(wèi)士應運而生。而本次項目開發(fā)是針對某些潛在的隱患而開發(fā)的,本項目預計實現9個大的功效模塊,最重要的有手機防盜、軟件管理、進程管理、手機殺毒等慣用的功效。竭力使每個Android都能夠安裝這款軟件,其中手機防盜模塊構思是根據顧客與否啟動防盜服務而啟動的,根據顧客預設的密碼和手機SIM更換的狀態(tài)來保護顧客的隱私。而軟件管理模塊是通過ListView呈現出顧客的全部安裝的軟件,其中有顧客軟件和系統(tǒng)軟件之分,顧客能夠對安裝的應用程序進行卸載、分享和啟動。進程管理是通過ActivityManager來拿到顧客手機正在運行的進程,顧客能夠殺死任意一種進程,也能夠全選殺死多個進程來釋放手機的內存,節(jié)省控件。手機殺毒模塊是通過拷貝到顧客存儲卡上一種病毒數據庫,檢測顧客安裝程序的包名和程序的數字簽名來識別病毒,并提示顧客與否刪除惡意病毒。全部的功效模塊都是運行于Android平臺之上的,各個模塊之間的耦合度比較低,都能獨立運行在模擬器或者顧客的移動終端上,方便顧客的操作,能夠實現顧客的日常需求。2.2.1項目的具體功效分析整體項目采用MVC框架,是對android知識點的綜合應用,用到的技術有activity,service,broadcast,contentprovider,Notification,sqlite數據庫,自定義title,自定義控件,widget,aidl進程間通訊等,本項目所實現的功效以下:①手機防盜:根據預設參數,判斷手機與否被盜,根據自定義合同發(fā)送手機中SIM卡的信息和手機的位置信息給安全號碼??蛇h程通過短信指令,給手機設立鎖屏密碼,遠程鎖定手機屏幕,遠程格式化手機SD卡,恢復出廠設立,極大的保護顧客的隱私安全,通過aidl注冊admin設備,普通顧客無法卸載該程序。②通訊衛(wèi)士:來電號碼歸屬地顯示,來電歸屬地位置的調節(jié),來電黑名單/短信黑名單管理。電話短信備份和還原,保護手機的數據和通訊安全。③軟件管理:系統(tǒng)軟件和本地軟件,能夠顯示軟件的具體信息,啟動、刪除、分享應用程序。程序鎖能夠指定要保護的程序,顧客進入要保護的程序之前必須輸入密碼。④進程管理:顯示現在系統(tǒng)運行的進程信息,顯示系統(tǒng)內存信息,能夠殺死某個進程,批量殺死進程,通過桌面widget實時呈現顧客現在的手機內存狀態(tài)。⑤手機殺毒:從服務器下載最新的病毒庫,根據程序的包名和程序的數字簽名識別病毒,提示顧客并查殺惡意軟件,使吸費木馬無處可藏。⑥系統(tǒng)優(yōu)化:清理手機緩存,提高手機性能,優(yōu)化電池管理。⑦高級工具:手機號碼歸屬地查詢,更改歸屬地位置,慣用號碼查詢。⑧設立中心:能夠對與否啟動防盜、與否啟動程序鎖服務等功效進行設立,還能夠更改來去電顯示的風格。2.2.2項目框架介紹整體項目采用MVC框架進行設計和開發(fā),MVC全名是ModelViewController,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業(yè)務邏輯和數據顯式分離的辦法組織代碼,將業(yè)務邏輯被聚集到一種部件里面,在界面和顧客圍繞數據的交互能被改善和個性化定制的同時而不需要重新編寫業(yè)務邏輯。MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、解決和輸出功效在一種邏輯的圖形化顧客界面的構造中。MVC開始是存在于桌面程序中的,M是指業(yè)務模型,V是指顧客界面,C則是控制器,使用MVC的目的是將M和V的實當代碼分離,從而使同一種程序能夠使用不同的體現形式。MVC是一種框架模式,它強制性的使應用程序的輸入、解決和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自解決自己的任務。最典型的MVC就是JSP+Servlet+Javabean的模式。2.2.3項目的目錄空間構造在創(chuàng)立了本次的設計的項目后,會在項目的根目錄下發(fā)現某些文獻和子目錄,下列是對這些目錄的簡要闡明:AndroidManifest.xml:是一種XML文獻,用于描述將被構建的應用程序,以及應用程序中包含哪些組件(Activity、Service等等)。build.xml:是一種Ant腳本,用于編譯應用程序和在設備上安裝應用程序。Dperties和perties:是屬性文獻,由Ant構建腳本使用。assets/:文獻夾,用于寄存需要打包到應用程序中的靜態(tài)文獻,方便布署到設備中。bin/:文獻夾,用于寄存編譯后的應用程序。gen/:文獻夾,Android構建工具寄存它們生成的源代碼的地方。libs/:文獻夾,用于寄存應用程序用到的第三方JAR包。src/:文獻夾,用于寄存應用程序的Java源代碼。res/:文獻夾,用于寄存應用程序的資源(如圖標、GUI布局等),將被打包到編譯后Java中。tests/:文獻夾,用于寄存完全獨立的Android項目,方便測試你所創(chuàng)立的項目。2.2.4項目代碼的組織構造程序代碼的組織構造大致上有兩種:第一種:按照業(yè)務邏輯組織代碼,這樣業(yè)務與業(yè)務之間的關聯度比較小。第二種:按照代碼的類型組織包構造。在這里,我們采用第二種代碼的組織構造進行手機安全衛(wèi)士的開發(fā),其代碼的組織方式以下:com.itheima.mobilesafe.activities,這個包放我們開發(fā)程序的主界面;com.itheima.mobilesafe.ui,這個包放我們開發(fā)程序的自定義控件;com.itheima.mobilesafe.engine,我們程序開發(fā)的業(yè)務類放在這個包下;com.itheima.mobilesafe.db,這個包放我們所使用的數據庫類;com.itheima.mobilesafe.db.dao,這個包實現我們對數據庫的增刪改查;com.itheima.mobilesafe.utils,這個包下為我們公用的工具類;com.itheima.mobilesafe.service,這個包下為我們后臺長久運行的服務;com.itheima.mobilesafe.receiver,這個包下是我們定義的廣播接受者。2.3本章小結本章重要介紹了該項目開發(fā)的需求分析,以及開發(fā)此項目的的可行性分析,另外對項目要實現的功效模塊、開發(fā)模式的介紹和包的組織構造進行了具體的介紹。這樣,就顯得我們開發(fā)的源代碼的組織比較有章法,而不會那么的亂。通過本章的介紹,使我對此項目有了進一步的理解,對項目的各個部分的功效有了深刻的認識。對于不同的模塊,所實現的功效也有了清晰的認識。另外,具體各個模塊的功效設計也進行了具體的介紹,只有熟悉了模塊本身的需求和頁面布局,才干更加好地完畢功效界面的設計??傊?,通過本章的介紹,為后來自己進行界面設計打下了堅實的基礎,頭腦中也有一種基本完整的構思和大致的布局,而不再是不知所措的感覺了。

3有關技術介紹3.1Java技術綜述①Java技術介紹Java是一種能夠撰寫跨平臺應用軟件的面對對象的程序設計語言,是由SunMicrosystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaEE,JavaME,JavaSE)的總稱。Java自面世后就非常流行,發(fā)展快速,對C++語言形成了有力沖擊。Java技術含有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯網的產業(yè)環(huán)境下,Java更含有了明顯優(yōu)勢和廣闊前景。Java是由四個方面構成的,涉及Java編程語言、Java文獻格式、Java虛擬機(JVM)、Java應用程序接口(JavaAPI)。簡言之:Java編程語言是個簡樸、面對對象、分布式、解釋性、強健、安全與系統(tǒng)無關、可移植、高性能、多線程和動態(tài)的語言。Java是功效完善的通用程序設計語言,能夠用來開發(fā)可靠的、規(guī)定嚴格的應用程序。②Java技術的特點Java編程語言的風格十分靠近C語言、C++語言。Java是一種純正的面對對象的程序設計語言,它繼承了C++語言面對對象技術的核心。Java舍棄了C語言中容易引發(fā)錯誤的指針(以引用取代)、運算符重載(operatoroverloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功效用于回收不再被引用的對象所占據的內存空間,使得程序員不用再為內存管理而擔憂。在Java1.5版本中,Java又引入了泛型編程(GenericProgramming)、類型安全的枚舉、不定長參數和自動裝/拆箱等語言特性。Java不同于普通的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴多個不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼。從而實現了“一次編譯、到處執(zhí)行”的跨平臺特性。但是,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時間,這同時也在一定程度上減少了Java程序的性能。3.2Android技術1)Android技術的介紹Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),重要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發(fā)。Android是第一種內置支持Java的操作系統(tǒng),Android應用程序使用Java語言編寫。Android開發(fā)水平的高低很大程度上取決于Java語言核心能力與否扎實。另外首先,3G應用往往會和公司級應用互相結合。配合真實的公司級項目,不僅能夠進一步掌握基于Android平臺的智能手機開發(fā)技術,更重要的是還系統(tǒng)掌握了智能移動終端與JavaEE服務器端相結合的諸多領域商業(yè)的應用。項目開發(fā)環(huán)境為ADT(AndroidDevelopmentTools),是一種定制版的Eclipse,專門用于開發(fā)Android項目,里面集成了AndroidVirtualDevices,對于Java基礎較扎實的人很容易上手。2)Android的四大組件Android開發(fā)四大組件分別是:活動(Activity):用于體現功效。服務(Service):后臺運行服務,不提供界面呈現。廣播接受器(BroadcastReceiver):用于接受廣播。內容提供商(ContentProvider):支持在多個應用中存儲和讀取數據,相稱于數據庫。①活動(Activity):Android中,Activity是全部程序的根本,全部程序的流程都運行在Activity之中,Activity能夠算是開發(fā)者碰到的最頻繁,也是Android當中最基本的模塊之一。普通一種Android應用是由多個Activity構成的。這多個Activity之間能夠進行互相跳轉。②服務(Service):Service是android系統(tǒng)中的一種組件,它跟Activity的級別差不多,但是他不能自己運行,只能后臺運行,并且能夠和其它組件進行交互。Service是沒有界面的長生命周期的代碼。③廣播接受者:在Android中,Broadcast是一種廣泛運用的在應用程序之間傳輸信息的機制。而BroadcastReceiver是對發(fā)送出來的Broadcast進行過濾接受并響應的一類組件。能夠使用BroadcastReceiver來讓應用對一種外部的事件做出響應。④內容提供者:ContentProvider是Android提供的第三方應用數據的訪問方案。3)Android平臺的優(yōu)勢與劣勢Android平臺有五大優(yōu)勢特色。①開放性在優(yōu)勢方面,Android平臺首先就是其開放性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯盟中來。明顯的開放性能夠使其擁有更多的開發(fā)者,隨著顧客和應用的日益豐富,一種嶄新的平臺也將很快走向成熟。開放性對于Android的發(fā)展而言,有助于積累人氣,這里的人氣涉及消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將能夠用更低的價位購得心儀的手機。②擺脫運行商的束縛在過去很長的一段時間,特別是在歐美地區(qū),手機應用往往受到運行商制約,使用什么功效接入什么網絡,幾乎都受到運行商的控制。自從iPhone上市,顧客能夠更加方便地連接網絡,運行商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網絡的逐步過渡和提高,手機隨意接入網絡已不是運行商口中的笑談。③豐富的硬件選擇這一點還是與Android平臺的開放性有關,由于Android的開放性,眾多的廠商會推出千奇百怪,功效特色各具的多個產品。功效上的差別和特色,卻不會影響到數據同時、甚至軟件的兼容。④不受任何限制的開發(fā)商Android平臺提供應第三方開發(fā)商一種十分寬泛、自由的環(huán)境。因此不會受到多個條條框框的阻撓,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。⑤無縫結合的Google應用如今叱咤互聯網的Google已經走過度歷史。從搜索巨人到全方面的互聯網滲入,Google服務如地圖、郵件、搜索等已經成為連接顧客和互聯網的重要紐帶,而Android平臺手機將無縫結合這些優(yōu)秀的Google服務。但是事物往往都有兩面性,Android平臺尚有其對應的劣勢。①版本過多,升級過快由于Android的開放式特點,因此諸多的廠商推出了定制的界面,如HTCSense、MOTOBlur、三星Touchwiz等等,這提供應客戶豐富選擇的同時,也造成版本過多,升級較慢的特點,由于Google的升級速度很快,而廠商要推出新固件需要通過深度的研發(fā),就造成升級滯后的問題。②顧客體驗不一致由于Android在不同的廠商,不同的配備下都有機型,因此造成有些機型運行Android系統(tǒng)流暢,有些則是緩慢卡頓等問題,就如《憤怒的小鳥》的開發(fā)商就表達,這款人氣游戲在諸多的Android機型上運行得不是很抱負,但是就像我們用的PC也有的好有的壞同樣,這倒是不必太多顧慮這個問題。3.3SQLite數據庫①SQLite數據庫介紹SQLite,是一款輕型的數據庫,是恪守ACID的關系型數據庫管理系統(tǒng),它的設計目的是嵌入式的,并且現在已經在諸多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟諸多程序語言相結合,例如Tcl、C#、PHP、Java等,尚有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界出名的數據庫管理系統(tǒng)來講,它的解決速度比他們都快。SQLite操作簡樸,能夠使用諸多語言直接創(chuàng)立數據庫,而不象Access同樣需要Office的支持。如果你是個很小型的應用,或者你想做嵌入式開發(fā),沒有適宜的數據庫系統(tǒng),那么你能夠考慮使用SQLite。SQLite是一種非常流行的嵌入式數據庫,它的SQL界面非常簡潔,內存占用少,速度快。另外,它是公開的,因此每個人都能夠使用。許多公司(如Adobe、蘋果公司、Google、Sun和Symbian)和開源項目(如Mozilla、PHP和Python)都在產品中使用了SQLite。對于Android,SQLite已經“融入”到Android運行時,因此全部Android應用程序都能夠創(chuàng)立SQLite數據庫。由于SQLite使用SQL界面,對于有基于其它SQL數據庫使用經驗的顧客而言,它的使用非常簡樸直接。但是,它的本機API不是JDBC,而JDBC對于手機等內存有限的設備來說開銷太大。對于程序員來說,學習SQLite就相稱于學習一種新的API,它很容易上手。②SQLite數據庫的優(yōu)缺點優(yōu)點:SQLite是一種輕量級、跨平臺的關系型數據庫。SQLite的另外一種特點是綠色:它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。因此在布署的時候能夠省去不少麻煩,尚有跨平臺性和可移植性。SQLite操作簡樸,能夠使用諸多語言直接創(chuàng)立數據庫,而不象Access同樣需要Office的支持。如果你是個很小型的應用,或者你想做嵌入式開發(fā),沒有適宜的數據庫系統(tǒng),那么你能夠考慮使用SQLite。缺點:SQLite在并發(fā)(涉及多進程和多線程)讀寫方面的性能始終不太抱負。數據庫可能會被寫操作獨占,從而造成其它讀寫操作阻塞或出錯,并且SQL原則支持的不全。3.4本章小結本章重要對開發(fā)此項目的所用到的開發(fā)工具、支持的平臺和所用的數據庫進行簡要的介紹。另外,具體的解釋了Android下的四大組件以及各自的職能,并對這些組件之間的關系和連接進行具體的闡明。最后,還提到了Android下的數據庫的使用以及該數據庫的優(yōu)缺點??傊ㄟ^這一小節(jié)讓我理解到開發(fā)一種Android下的項目所必須的環(huán)境和平臺,以及要使用的工具和后臺的數據庫,只有對這些工具進行熟悉的掌握和學習并加以純熟的運用,只有這樣,才能夠開發(fā)出適合顧客需求的應用程序。加深了對項目開發(fā)的理解,并不僅僅是代碼的編寫,而是整個開發(fā)流程的控制。

4項目設計4.1項目設計目的及原則本次項目的設計就是要開發(fā)一種手機安全衛(wèi)士的軟件,它屬于一種系統(tǒng)級別的軟件,通過設立能夠監(jiān)聽顧客的電話及短信號碼,判斷與否是黑名單方便于進行攔截,還能夠進行手機病毒的查殺、系統(tǒng)優(yōu)化、軟件管理、進程管理、程序鎖等功效。本項目致力于設計一種松耦合的功效,減少模塊之間的聯系,方便后期的維護與再設計。系統(tǒng)設計的原則以下所示。①模塊化模塊化設計不僅減低了模塊之間的耦合性,使得系統(tǒng)容易修改,并且推動了系統(tǒng)各個部分的并行開發(fā),從而提高了軟件的設計效率。②模塊獨立性模塊獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件規(guī)定的具體子功效,而和軟件系統(tǒng)中其它模塊的功效是無關的。模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接構造。4.2項目的模塊流程圖①主界面業(yè)務流程圖該系統(tǒng)的總體的一種構造圖有主界面以及主界面上的某些模塊構成,主界面為HomeActivity,在主界面上有手機防盜、通訊衛(wèi)士、進程管理、高級工具等模塊構成??傮w模塊構造圖如圖4.1所示。圖4.1總體模塊構造圖②splash界面的業(yè)務流程圖首先說下splash界面的作用,具體有展示產品的logo提高產品的出名度;應用程序的初始化,讀取配備文獻,加載配備;鏈接服務器,獲取最新信息,檢查版本號,判斷應用程序與否需要更新;聯網校驗檢查應用程序的完整性。因此說再理解了splash界面的作用后,就能夠畫出它的業(yè)務流程圖了,如圖4.2所示。圖4.2splash界面流程圖③手機防盜模塊業(yè)務流程圖手機防盜模塊是根據預設密碼,判斷手機與否被盜,根據自定義合同發(fā)送手機中SIM卡的信息和手機的位置信息給安全號碼。手機防盜設立向導業(yè)務流程圖如圖4.3所示。圖4.3手機防盜設立向導流程圖手機防盜的核心是通過建立Android下的超級管理員功效,可遠程通過短信指令,給手機設立鎖屏密碼,遠程鎖定手機屏幕,遠程格式化手機SD卡,恢復出廠設立,并且顧客也不能對軟件進行卸載,能夠極大的保護顧客的隱私安全。通過建立一種廣播接受者監(jiān)聽手機的重啟狀態(tài),重啟后判斷手機防盜與否啟動,通過TelephonyManager的getSimSerialNumber()辦法獲取到手機的SIM卡串號,和之前的保存的串號比對與否一致,判斷手機與否被盜。再通過建立短信的廣播接受者監(jiān)聽來短信短信的狀態(tài),如何短信內容和我們預設的指令相似時,由超級管理員來遠程鎖定手機甚至銷毀數據,這兩個廣播接受者模塊流程圖如圖4.4和圖4.5所示。圖4.4檢查SIM卡串號流程圖根據遠程指令向手機發(fā)送信息指令,用來鎖定手機、獲取手機的位置、遠程銷毀手機的數據,保護顧客的隱私不被泄露,則短信的廣播接受者業(yè)務流程圖如圖4.5所示。圖4.5SmsReceiver業(yè)務流程圖④黑名單模塊業(yè)務流程圖黑名單模塊是通過創(chuàng)立一種BlackNumberDBOpenHelper類繼承SQLiteOpenHelper,就相稱于創(chuàng)立一種黑名單的數據庫,用于增加、刪除、查詢、更改黑名單,方便與顧客的操作。其業(yè)務流程如圖4.6所示。圖4.6黑名單模塊業(yè)務流程圖⑤軟件管理模塊業(yè)務流程圖軟件管理業(yè)務就是讓顧客管理自己的軟件,該界面顯示的有系統(tǒng)軟件和顧客軟件,在顯示的每一種軟件上點擊能夠分享、啟動或者卸載一種應用。該模塊的業(yè)務流程如圖4.7所示。圖4.7軟件管理業(yè)務流程圖⑥手機殺毒模塊業(yè)務流程圖手機殺毒的業(yè)務流程是通過拿到包管理器遍歷手機上安裝的應用程序,把應用程序的包名和數字簽名和數據庫中病毒的數字簽名進行比對,如果相似,闡明該應用程序為病毒,彈出一種刪除該應用程序的界面,如果不相似,闡明該應用程序不是病毒,掃描結束后,返回到手機殺毒的界面。該手機殺毒業(yè)務流程如圖4.8所示。圖4.8手機殺毒業(yè)務流程圖⑦設立中心模塊業(yè)務流程圖設立中心就是對其它功效進行設立而開發(fā)的一種模塊,通過設立中心能夠更改那些功效的背景、顯示風格、與否啟動后臺服務,還能夠更改與否啟動應用程序的自動更新業(yè)務,這個功效就是當服務器上有新版本的應用程序時,能夠連接服務器進行下載更新。其業(yè)務邏輯流程如圖4.9所示。圖4.9設立中心業(yè)務流程圖4.3本章小結本章重要介紹了該系統(tǒng)的設計,系統(tǒng)所要實現的目的,系統(tǒng)構造的設計原則,減少模塊之間的耦合性,使模型與控制器和視圖相分離,很容易變化應用程序的數據層和業(yè)務規(guī)則。通過需求分析后,使得系統(tǒng)的功效顯得更清晰,本章還具體的描述了該系統(tǒng)各個模塊的業(yè)務流程邏輯,能夠讓設計人員清晰明了的懂得該系統(tǒng)的各個模塊的功效,在思想中有一種完整的架構和體系??傊撜聦Ω鱾€功效模塊的邏輯流程都有了具體的設計,對后來的數據庫設計和具體代碼設計打下了基礎,是程序的繼續(xù)開發(fā)成為了可能。

5數據庫設計5.1數據庫設計過程描述數據庫實際采用軟件工程的思想和辦法它是現在公認的比較完整和權威的一種規(guī)范設計法。它將數據設計分成需求分析、概念設計、邏輯設計和物理設計。圖5.1給出了數據庫設計的過程。圖5.1數據庫設計的過程5.2數據庫概念構造設計概念構造是對現實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行認為解決,它抽取人們關心的共同特性,忽視非本質的細節(jié),并把這些特性用多個概念精確地加以描述,這些概念構成了某種模型。采用E-R辦法建立概念模型,E-R辦法是實體-聯系辦法(Entity-RelationshipApproach)的簡稱。它是描述現實世界概念構造模型的有效辦法。用E-R辦法建立的概念構造模型稱為E-R模型,或稱為E-R圖。①黑名單的數據庫設計,由于黑名單的屬性有姓名、電話號碼、攔截模式這三個屬性,它的E-R模型如圖5.2所示。圖5.2黑名單E-R圖②軟件管理的數據庫設計,由于這個界面要顯示出手機上所安裝軟件的信息,因此軟件實體也有自己的屬性,具體有軟件圖標、軟件名稱、包名、顧客軟件、系統(tǒng)軟件等。軟件信息的E-R模型如圖5.3所示。圖5.3軟件信息E-R圖③號碼歸屬地查詢信息的數據庫設計,此信息包含有號碼所屬都市、號碼的類型、號碼所屬都市區(qū)號,其E-R模型如圖5.4所示。圖5.4號碼歸屬地信息E-R圖④慣用號碼的信息數據庫設計,慣用號碼包含有號碼的id,電話信息,慣用號碼的名稱,慣用號碼的E-R模型如圖5.5所示。圖5.5慣用號碼信息E-R圖⑤病毒數據庫的信息,包含的屬性有ID、MD5數字簽名、類型、名稱。描述手機里有病毒查殺的模塊,其工作原理是掃描出應用程序的信息,查詢到應用程序的簽名和病毒數據庫里面的存儲的數字簽名進行比對,如果相似,則闡明是數據庫,否則,不是,病毒數據庫信息的E-R模型如圖5.6所示。圖5.6病毒信息的E-R圖5.3數據庫的邏輯構造設計①邏輯構造設計的任務數據庫邏輯設計的任務是將概念模型轉換成特定的DBMS所支持的數據模型的過程。從E-R圖所示的概念模型能夠轉換成任何一種具體的DBMS所支持的數據模型,這里只介紹E-R圖如何向關系模型進行轉換,普通的邏輯構造設計分為一下三步,如圖5.7所示。圖5.7關系數據庫的邏輯構造設計②邏輯構造設計的模式概念設計中得到的E-R圖由實體、屬性和聯系構成的,而關系數據庫邏輯設計的成果是一組關系模式的集合。因此將E-R圖轉換成關系模型事實上就是將實體、屬性和聯系轉換成關系模式。轉換要遵照下列原則。一種實體轉換為一種關系模式,實體的屬性就是關系的屬性,實體的鍵就是關系的鍵。一種聯系轉換成一種關系模式,與該聯系相連的各實體的鍵以及聯系的屬性均轉換為該關系的屬性。該關系的鍵有三種狀況:如果聯系為1:1,則每個實體的鍵都是關系的候選鍵;如果聯系為1:m,則n端實體的鍵是關系的鍵;如來聯系為n:m,則各實體鍵的組合是關系的鍵。把概念設計E-R圖中的每一種實體轉換為一種關系,主鍵為帶下劃線的實體,則以上實體轉換完畢關系模式以下所示。黑名單號碼(姓名,電話號碼,攔截模式)軟件信息(軟件包名,軟件名稱,系統(tǒng)軟件,顧客軟件,軟件圖標)號碼歸屬地信息(號碼id,號碼所屬都市,號碼所屬都市的區(qū)號,號碼類型)慣用服務電話號碼(號碼ID,號碼所屬服務名稱,號碼電話信息)病毒信息(描述,ID,MD5數字簽名,類型,應用程序包名)已加鎖程序信息(應用程序包名,程序ID)5.4數據庫物理構造設計數據庫最后要存儲在物理設備上。對于給定的邏輯數據模型,選用一種最適合應用環(huán)境的物理構造的過程,稱為數據庫物理構造設計。設計人員必須進一步理解給定的DBMS的功效,DBMS通過的環(huán)境和工具、硬件環(huán)境,特別是存儲設備的特性。另首先也要理解應用環(huán)境的具體規(guī)定,如多個應用的數據量、解決頻率和響應時間等。本系統(tǒng)物理設計采用SQLite數據庫進行數據的存數,下列是本系統(tǒng)數據庫設計的字段狀況。①黑名單數據表表blacknumber重要用來保存黑名單的數據信息,重要涉及姓名(name)、電話號碼(phone)、攔截模式(mode)三個字段,其具體設計如表5.1所示。表5.1黑名單數據表IndexNameDeclaredTypeTypeSizeNotnull1_idvarchar(2)integer2yes2phonevarchar(20)varchar20yes3modevarchar(2)varchar2yes②號碼歸屬地數據表表address_db用來存儲號碼的信息,例如id、號碼類型(cardtype)、地區(qū)(area)、所屬都市(city),其具體設計如表5.2所示。表5.2號碼歸屬地數據表NameDeclaredtypeTypeSizeNotnullcityvarchar(20)varchar20yescardtypevarchar(20)varchar20yesareavarchar(10)varchar10yes_idvarchar(2)integer2yes③慣用號碼數據表表commonnum表用來存儲某些慣用的電話號碼和名稱,例如某銀行客服電話、某機場的訂票電話等,重要包含_id、電話(number)、名字(name)三個字段,其具體設計如表5.3所示。表5.3慣用號碼數據表NameDeclaredtypeTypeSizeNotnull_idvarchar(2)integer2yesnumbervarchar(20)integer20yesnamevarchar(20)varchar20yes④程序鎖數據表程序鎖(applock)表用來存儲已加鎖的所建,所用到的字段有_id和應用程序的包名(packname),其具體設計如表5.4所示。表5.4程序鎖數據表NameDeclaredtypeTypeSizeNotnull_idvarchar(2)integer2yespacknamevarchar(20)varcher20yes⑤手機殺毒數據表手機殺毒數據庫表(antivirus),用到的字段有_id、應用程序簽名(md5)、類型(type)、名稱(name)、描述(desc)五個字段,其具體設計如表5.5所示。表5.5手機殺毒數據表NameDeclaredtypeTypeSizeNotnull_idvarchar(2)integer2yesmd5varchar(30)varcher30yestypevarchar(2)varcher2yesnamevarchar(30)varcher30yesdescvarchar(30)varcher30yes5.5數據庫實施數據庫實施是指根據邏輯設計和物理設計的成果,在計算機上建立起實際的數據庫構造、裝入數據、進行測試和試運行的過程。數據庫的實施重要涉及:建立實際數據庫構造、裝入數據、應用程序編碼與調試、數據庫試運行和整頓文檔。①通過執(zhí)行代碼控制數據庫的增、刪、改、查,具體添加數據并查詢出成果,對于手機殺毒的數據庫的測試成果如圖5.8所示。圖5.8手機殺毒的病毒數據庫②慣用號碼的數據庫測試成果如圖5.9所示。圖5.9慣用號碼數據庫數據庫的試運行,通過代碼的方式往數據庫中裝入數據,并讀取出來顯示到界面上,觀察顯示的數據和裝入到數據庫中的數據與否一致,來測試數據庫與否能完美運行。測試成果是在數據庫方面沒有大的問題,能夠進行正常的增、刪、改、查,這樣數據庫設計也算是告一段落了。5.6本章小結本章重要介紹了數據庫設計的幾個階段,涉及系統(tǒng)需求分析、概念構造設計、邏輯構造設計、物理構造設計、數據庫實施等幾個階段,并通過圖片、圖表以及文字進行了具體的闡明。對于每一階段,都具體的介紹了其對應的任務、辦法和環(huán)節(jié)。通過本章的具體設計,基本上能夠設計出一種符合需求和方便后期維護的數據庫。

6項目具體設計與實現6.1項目的具體功效模塊設計及界面本次項目的功效模塊大致有十幾個,而總體上能夠分為三大方向的功效,有手機防盜功效模塊、系統(tǒng)偵測與設立以及顧客隱私功效模塊,而在大的方向下又有不同的小的模塊構成,下面就該項目的全部的功效模塊的設計進行具體的闡明及部分界面的展示。6.1.1顧客體驗界面的設計①splash界面,其重要功效是初始化數據、聯網檢查服務器與否有新的版本更新和展示手機衛(wèi)士的logo,能夠提高顧客的體驗效果。這個界面的設計流程,首先定義個相對布局,設立一種背景圖片,布局中間添加一種TextView用來顯示版本號,下方添加一種ProgressBar,用來顯示加載的進程。在布局最下方放置一種TextView,當應用程序聯網檢查更新時,如果連接服務其有更新提示,會彈出一種對話框提示顧客進行更新,其界面展示如圖6.1所示,其界面布局的代碼會在附錄里給提供出來。圖6.1Splash界面展示這個頁面需要進行聯網操作,所要在AndroidManifest.xml配備一種名稱為android.permission.INTERNET聯網的權限。并且在后臺設計這個頁面時,由于需要聯網進行更新,這是一種比較耗時的操作,因此聯網的操作放在的子線程里進行執(zhí)行,避免由于請求服務器產生anr(ApplicationNotResponding)異常。在splash界面還進行了數據庫拷貝的操作,把數據庫文獻拷貝到/data/data/com.itheima.mobilesafe/files/這個目錄下,這樣才能夠對數據庫進行增、刪、改、查的操作,同樣這個操作也是要放到子線程里去執(zhí)行。②主界面設計在splash界面后就直接進入到主界面了,這個界面為顧客經常操作的界面,并且手機衛(wèi)士的全部的功效都在主界面里展示,在這個界面顧客能夠清理手機緩存、設立手機防盜、管理手機的軟件和進程等。其設計過程是界面最上端放置的是一種TextView控件,文本為手機安全衛(wèi)士,其下方放置是一種自定義的FocusedTextView類,讓其繼承TextView,重寫isFocused的辦法,returntrue,這樣就騙過了系統(tǒng),讓系統(tǒng)誤覺得FocusedTextView獲取到焦點,這樣就能產生一種跑馬燈的效果呈現到界面上。其下方的模塊就是一種設立numColumns為3的GridView顯示出來的,主界面展示如圖6.2所示。圖6.2主界面展示6.1.2手機防盜功效模塊的設計手機防盜也是手機衛(wèi)士最為核心的功效模塊,其重要是保護顧客的隱私不被泄露,能夠通過設立初試密碼啟動防盜功效,能夠在手機丟失的狀況下,向事先設立的安全號碼發(fā)送報警短信,能夠遠程遙控手機銷毀數據,保護隱私。其重要界面展示以下圖所示。1)設立密碼與輸入密碼設計初次進入打開手機防盜功效的界面時,要先設立安全密碼,這個對話框設計是定義一種線性布局LinearLayout,對其方式為豎直,上面定義一種TextView控件,文本內容為:設立密碼,下方設立兩個EditText,輸入類型為textPassword,而在下方再放置一種線性布局,對其方式為水平對齊,添加兩個Button按鈕,設立layout_width="0dip",layout_weight="1",這樣兩個Button按鈕所占權重同樣。其顯示效果如圖6.3所示。圖6.3設立安全密碼界面設立完安全密碼后返回到主界面上,再進入手機防盜這個功效時就不用再設立密碼了,而是進入到一種顧客輸入密碼的界面,其頁面布局和設立密碼的頁面布局同樣,顯示效果如圖6.4所示。圖6.4輸入密碼界面2)設立向導的具體設計設計輸入密碼后,顧客就進入到設立向導的界面,設立向導一共有四步,顧客要完畢這四步操作設立手機的防盜功效,其具體的設計以下面四步所示。①設立向導第一步的設計這個界面的布局,界面的根節(jié)點是一種線性布局,對其方式為豎直方向,首先設立一種TextView控件,文本內容為:歡迎使用手機防盜,這個控件下面再添加一種TextView控件,文本內容為:您的手機防盜衛(wèi)士。其下方放置一種線性布局,對其方式設為水平方向,左邊設立一種ImageView控件,指定一種小圖片,右邊放置一種TextView控件,寫入文本的內容,下面幾個也是這種布局。在這種布局下,再加入一種線性布局,設為水平方向對齊,在線性布局里放入4個ImageView控件,分別給它們指定一種圖片的資源即可。在這個線性布局下,再放置一種RelativeLayout(相對布局),設立寬高為match_parent,在相對布局里設立一種ImageView,設立它的layout_centerInParent="true",并為它指定一種圖片資源,再添加一種Button,指定一種背景的樣式,讓Button按鈕顯示的更美觀某些,layout_alignParentBottom="true",layout_alignParentRight="true",讓Button按鈕顯示在父窗體的右下方,給Button添加一種文本為下一步。其具體的顯示效果如圖6.5所示。圖6.5設立向導第一步界面②設立向導第二步的設計設立向導的第二步的UI布局大致與第一步相似,中間設立的是一種相對布局,其內部添加的是一種TextView控件,其顯示文本為:點擊綁定sim卡,相對與這個布局的右側是一種ImageView控件,指定為圖片資源是一種未加鎖樣式的圖片,通過后臺代碼的控制,當顧客點擊過綁定sim卡后,這個小圖片變成一種已加鎖樣式的圖片。頁面底部放置兩個Button按鈕,其界面顯示效果如圖6.6所示。圖6.6設立向導第二步界面③設立向導第三步的設計第三步界面UI的設計與前兩步都大同小異,中間輸入電話號碼的框為一種EditText控件,其下方是一種Button按鈕,寬度為填充父窗體,文本為選擇聯系人,選擇聯系人功效實現,由于要拿到手機里面的聯系人,聯系人是隱私數據,要通過內容提供者來實現,創(chuàng)立一種ContactInfoProvider類,里面寫一種返回List<ContactInfo>的辦法,來返回聯系人集合。通過創(chuàng)立一種ListView頁面布局,把數據填充到ListView頁面上,并且給每一種ListView注冊一種條目點擊事件,當顧客點擊某個條目時,取出該條目錄上的電話號碼,并把該號碼寫到安全號碼這個界面上,然后才干進入到下一步的設立向導,其界面顯示效果如圖6.7所示。圖6.7設立向導第二步界面④設立向導第四步設計,顯示效果如圖6.8所示圖6.8設立向導第四步界面⑤設立向導完畢的界面,要進入到手機防盜的界面,這個界面包含的信息有顧客設立的安全號碼、防盜保護與否啟動、尚有某些手機防盜功效的介紹。其界面展示如圖6.9所示。圖6.9手機防盜界面6.1.3手機偵測與設立功效的設計這個大的功效重要有軟件管理、進程管理、手機殺毒這三個小模塊構成的,它們的具體的設計流程及界面的展示以下所示。①軟件管理模塊的設計軟件管理這個模塊通過listview把手機里面的應用程序給展示到界面上,在界面的最上面有兩個textview用來顯示顧客手機內存(rom)可用的大小和SD卡可用內存的大小,下面是一種listview通過遍歷把應用程序顯示到界面上,然后給你每一種listview條目都注冊了點擊事件,在點擊每一種條目時,可彈出一種懸浮窗體,用popupwindow實現的,這個彈出窗體有三個小按鈕,能夠卸載、啟動、分享這個應用程序,在點擊這些小按鈕的時候,可啟動其對應的activity,方便于顧客的操作。其界面展示如圖6.10所示。圖6.10軟件管理界面展示②進程管理模塊的設計進程管理界面的UI和軟件管理界面的UI大致類似,其頂部顯示的內容也是通過textview顯示出來的,通過ActivityManager拿到手機正在運行的進程數量和可用內存(ram)的大小,再設立顯示到界面上。Textview下的布局是一種listview,顯示進程的界面是通過創(chuàng)立一種LinearLayout節(jié)點的布局文獻,里面放置一種imageview和textview,右邊再放置一種checkbox,來選擇要清理的進程。通過View.inflate辦法把xml布局文獻填充成一種view對象,顯示到界面上。在界面的最下方放置了四個button按鈕,設立成width=0dip,weight=1,等比例分派空間,顯示到界面上。其重要界面展示如圖6.11所示。圖6.11進程管理界面展示③手機殺毒模塊的設計手機殺毒模塊是通過掃描應用程序的包名和數值簽名來和數據庫里存儲的病毒的數字簽名進行比較,如果比較的成果相似,則闡明這個應用程序為病毒,否則,則闡明這個應用程序是安全的。說一下這個頁面呢的布局,界面的上方顯示的是一種線性布局,顯示方式為水平方向,在線性布局的左邊放置兩個imageview,其中一種圖片設立為不可見,右邊放置一種textview顯示正在掃描的應用程序的名稱,在圖片上加入一種動畫效果,這樣,就感覺手機殺毒在不停的掃描手機里安裝的應用程序。在這個歌線性布局下方放置一種listview,用來顯示掃描過的應用程序的信息,如果掃描到手機里有病毒,會在掃描結束后,彈出一種對話框,提示顧客與否刪除該應用程序。大致的界面布局就是這樣的,其顯示界面如圖6.12所示。圖6.12手機殺毒界面展示④設立中心界面展示設立中心是對該手機衛(wèi)士的某些功效進行設立,里面含的模塊有與否打開自動更新,來電顯示歸屬地顯示位置信息以及與否顯示來電歸屬地對話框,與否打開黑名單攔截服務等。這個頁面的布局重要是通過自定義的組合控件完畢的,創(chuàng)立SettingView類繼承RelativeLayout,把一種定義好的xml文獻轉化成view對象,顯示到界面上。其重要界面展示以下圖6.13所示。圖6.13設立中心界面展示6.1.4顧客隱私功效的設計顧客隱私這個功效重要涉及通訊衛(wèi)士、程序鎖、高級工具這三個模塊構成,其具體的設計流程及界面的展示以下所示。①通訊衛(wèi)士模塊的設計通訊衛(wèi)士能夠讓顧客添加黑名單,在界面上有個添加按鈕,點擊添加后,在彈出的對話框里輸入要加入黑名單的號碼,并選擇攔截模式,攔截模式有全部攔截、電話攔截、短信攔截三種模式,點擊擬定,就能夠添加成功,添加的數據存儲到數據庫里,并在通訊衛(wèi)士界面顯示出來。其界面展示如圖6.14所示。圖6.14黑名單界面展示②高級工具模塊的設計高級工具模塊是給顧客提供某些小功效的按鈕,里面包含的有手機號碼歸屬地查詢、慣用號碼查詢、備份和還原短信、程序鎖功效。頁面的大致布局是定義一種線性布局,線性布局里放置某些textview,textview左邊放置一種小圖片,讓頁面顯示的更美觀。在代碼里給每一種textview設立一種點擊事件,當點擊每一種條目時跳轉到不同的頁面,例:點擊手機號碼查詢時,跳轉到查詢界面,在查詢界面顧客輸入要查詢的電話號碼,點擊查詢,比對數據庫的信息,把該號碼的歸屬地顯示到界面上。其界面展示如圖6.15所示。圖6.15高級工具界面展示③程序鎖模塊的設計高級工具里面程序鎖界面,這個界面展示了復雜界面的UI布局是如何編寫的,這個界面顯示出未加鎖列表和已加鎖列表,每個界面顯示出未加鎖軟件和已加鎖的軟件,當顧客點擊右邊加鎖或者解鎖的小圖標時,能夠對應用程序進行加鎖或者解鎖。其界面的設計就是控件的組合實現的,界面的根節(jié)點是一種相對布局,對其方式為豎直對齊,第一種節(jié)點也是一種相對布局,其對其方式為水平方向,里面添加兩個TextView控件,寫入文本未加鎖和已加鎖,并為它們分別指定不同的背景圖片。在這個線性布局的下方,放置一種FrameLayout(幀布局),在幀布局里添加兩個相對布局,對其方式都是豎直方向對齊。在相對布局里面,放置一種TextView和ListView,TextView里面的文本分別為未加鎖軟件和已加鎖軟件。其中未加鎖軟件所在的線性布局置為可見,而另外一種線性布局置為不可見,通過后臺代碼的控制,在顧客點擊未加鎖和已加鎖條目時,再對應的更改這兩個線性布局與否可見,把對應的加鎖軟件或者未加鎖軟件顯示的界面上。其界面展示如圖6.16所示。圖6.16程序鎖界面展示6.2項目設計碰到問題的解決方式在項目開發(fā)中不太可能是一帆風順的,碰到運行錯誤或者在運行時拋出異常是非常正常的,俗話說,沒有經歷那么多的異常,你就不能算是一種合格的程序員。而碰到異常普通的操作就是通過打斷點的方式來找到問題的所在,再解決這個異樣。碰到異常不管在Java或者Android下都是通過打斷點的方式進行的,如果在程序運行過程中發(fā)現實際成果與預期成果不同,闡明程序在某個地方出現了bug,找到程序出錯誤的地方。在定義的變量或者定義的辦法左邊打上斷點,然后,以DebugAs的方式運行程序,運行后,程序會自動跳轉到Debug頁面,按F5跳轉到下一步進行調試,同時把鼠標移動到變量上,點擊右鍵,選擇watch,進行查看變量的值,如此不停的重復進行調試,直到找出出現的問題所在。調試下需要注意的問題,第一:斷點調試完畢后,要在breakpoints視圖中去除全部斷點;第二:斷點調試完畢后,一定要記得結束運行的jvm。6.3本章小結本章重要介紹了每一種模塊的具體設計,該系統(tǒng)重要實現手機防盜功效、程序鎖、黑名單、慣用號碼查詢、軟件管理、進程管理、手機殺毒等功效,界面的布局重要用到了xml文獻進行布局,在xml文獻中重要使用了TextView、ImageView、ListView、GridView、CheckBox等控件來顯示界面。界面的設計較為簡樸,和商業(yè)性的手機衛(wèi)士頁面布局尚有很大差距,但是對應的功效基本都實現了,通過具體界面布局和后臺代碼的實現基本上完畢了一種手機衛(wèi)士的開發(fā),接下來要做的是找些好的素材,再美化下界面就行了。

7項目測試7.1項目測試成果在項目完畢后,就進入了對項目的每一種功效模塊的進行測試的環(huán)節(jié),通過把項目布署到模擬器上檢測各個功效模塊與否都能正常運行,由于項目的功效模塊較多,下面就展示一下部分功效的測試成果。①對程序鎖功效的測試啟動模擬器,把項目布署到模擬器上,進入到設立中心打開程序鎖設立的功效,然后返回到程序鎖的界面對某一種程序加鎖。這里我們采用模擬器上的計算器進行加鎖,在已加鎖的列表里顯示的有計算器,如圖7.1所示。圖7.1已加鎖界面然后打開計算器,顯示的是輸入密碼的界面而不是計算器的主界面,通過這樣的方式進行測試,手機鎖功效正常運行,輸入密碼界面如圖7.2所示。圖7.2輸入密碼的界面②對來電歸屬地顯示的測試我們也通過模擬器進行測試,通過把項目布署到模擬器上,進入設立中心,打開來電歸屬地顯示按鈕,并選擇顯示款的風格為活力橙,通過Eclipse進入到DDMS(DalvikDebugMonitorService)界面,是Android開發(fā)環(huán)境中的Dalvik虛擬機調試監(jiān)控服務。從這個界面上找到EmulatorControl來給模擬器模擬一種接到電話的場景,看模擬器在接電話界面上與否有活力橙的號碼歸屬地顯示框,其顯示的界面如圖7.3所示。圖7.3歸屬地顯示界面③對黑名單進行測試這個測試我們通過啟動兩個模擬器模擬兩個場景,一種相稱于打電話,一種相稱于接電話,由于模擬器左上方的端標語即為模擬器的電話號,我們通過手機衛(wèi)士把其中一種端標語設立為黑名單,選擇攔截模式為電話攔截,用設備黑名單的這個模擬器給另外一種模擬器打電話,會發(fā)現電話根本打不出去,還沒接通電話就自動掛掉了。并且,通過代碼的控制,在接電話的哪一方的通話統(tǒng)計里也沒有剛剛的通話的統(tǒng)計,這樣,就相稱于把一種號碼徹底攔截了。由于模擬的界面不能用圖直接進行展示,這里只展示一張把5556這個模擬器加入到黑名單的顯示圖,如圖7.4所示。圖7.4模擬黑名單攔截圖④在真實的手機上進行測試在測試的時候,把項目布署到不同分辨率下的Android手機上,發(fā)現顯示的成果是不同的,并且在軟件管理界面顯得尤為的明顯。重要是在軟件管理界面有個PopupWindow(彈出窗體),這個彈出的窗體距離左邊的小圖標的距離在不同分辨率下顯示效果是不同,在大的分辨率上彈出窗體距離圖標較遠,而較小的分辨率上則相反,通過查看彈出窗體這一段的源代碼,發(fā)現我們定義的彈出窗體距離左邊圖標的距離是60px,通過window上的尺子小工具測量出不同分辨率下的PopupWindow距離圖標的距離都是60px,這就造成了分辨率不同,雖說都是60px,但顯示效果卻不同。然后通過定義一種工具類,把60px根據不同的分辨路進行換算統(tǒng)一轉成60dip,dip這個單位能夠隨著不同分辨率進行自動適應,這樣,轉換后,顯示效果就相似了。7.2本章小結本章重要介紹了項目在完畢后的測試,通過對項目的功效模塊進行全方位的測試,方便找出程序的bug,然后解決,只有測試合格,才干宣布程序的設計告一段落。

結束語在畢業(yè)設計的這兩個多月的時間里,通過對項目的需求分析和對市面上某些安全軟件的學習,逐步擬定了自己要設計的模塊、要實現的功效。在導師的指導下,逐步完畢了項目的開題報告、任務書等文檔,這些文檔對一種項目是必不可少的,有了這些文檔,才干擬定方向,才懂得該往哪方面努力。這次畢業(yè)設計,能夠說是對我們大學所學課程的一種綜合運用,其中用到了數據庫的設計辦法、用到了管理信息系統(tǒng)的開發(fā)流程和軟件工程的思想進行項目的設計。也讓我深刻意識到前期基礎知識的儲藏是多么的重要,也為后來的工作打下了堅實的基礎。這次畢業(yè)設計的題目是手機安全衛(wèi)士,基本上是把大致的功效都實現了,涉及有手機防盜、進程管理、軟件管理、程序鎖、歸屬地查詢等等某些慣用的功效,通過這次項目的編寫,深深體會到要開發(fā)出一款界面美觀、功效齊全的軟件確實不那么容易,需要我們付出諸多努力和汗水,也需要長久的實踐經驗積累。在畢業(yè)設計期間,我也意識到了自己的局限性。由于本身的知識膚淺,經驗不夠,因此,開發(fā)的軟件尚有諸多局限性之處,例如實現的重要功效不多,模塊過少,有些界面的代碼過于類似,界面整體效果不夠美觀等問題。即使在最后階段也進行了測試和完善,但效果卻不夠明顯。但是我會繼續(xù)努力,我相信在此后的工作中,我會逐步提高自己能力和人生的高度。

致謝畢業(yè)設計的結束,意味著大學四年的生活就要結束了。在畢業(yè)設計的這一段時間里,不僅有導師的指導,尚有同窗的協(xié)助,有時候晚上幾個同窗在一起討論某個功效模塊如何實現,在一起談論程序的問題和bug,有時候由于某個錯誤沒解決都不想去吃飯,這段時光必定會令人難忘的。在畢業(yè)設計即將結束,我要感謝我的導師楊老師,正由于有導師的不停的指導,才干完畢這個畢業(yè)設計以及畢業(yè)論文的書寫。同時,在日常的上學時,每位老師都對我們嚴格規(guī)定,讓我們準時完畢老師留下的任務,課堂上,老師不僅教會我們如何學習、教會我們新的知識,在課下,又能和老師打成一片,教會了我諸多道理。讓我意識到先做人、后做事,感謝大學里教過我的每一位老師,你們都很棒。在這里還得感謝我的戰(zhàn)友們,也就是同窗,正是有你們的不停激勵,尚有我們每一天都熬到很晚,在不停的調試著我們的程序、測試bug,我們在一起交流、談論,這些都將是我們在通往將來道路上的珍貴財富。最后,我要向犧牲了休息時間來對本文進行審視,評議和參加論文答辯的各位老師表達深深的感謝。在此,衷心的謝謝您們!

參考文獻[1]陳志泊主編.數據庫原理及應用教程.第二版.人民郵電出版社.:219-247頁[2]張海

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論