Android平臺手機文件監(jiān)控系統(tǒng)的設(shè)計與開發(fā)論文_第1頁
Android平臺手機文件監(jiān)控系統(tǒng)的設(shè)計與開發(fā)論文_第2頁
Android平臺手機文件監(jiān)控系統(tǒng)的設(shè)計與開發(fā)論文_第3頁
Android平臺手機文件監(jiān)控系統(tǒng)的設(shè)計與開發(fā)論文_第4頁
Android平臺手機文件監(jiān)控系統(tǒng)的設(shè)計與開發(fā)論文_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 PAGE 38本科畢業(yè)論論文 論文題題Andrroid 平臺手機機文件監(jiān)控控系統(tǒng)的設(shè)設(shè)計與開發(fā)發(fā)學(xué) 院計算機機科學(xué)與教教育軟件學(xué)學(xué)院 專 業(yè) 班 級 姓 名 學(xué) 號 指導(dǎo)教師 填表日期 Androoid 平平臺手機文文件監(jiān)控系系統(tǒng)的設(shè)計計與開發(fā)摘要 隨隨著Anddroidd 智能手手機的普及及,手機的的安全問題題也就接踵踵而來。我我們都知道道,保護系系統(tǒng)安全的的一個重要要組成部分分就是保護護文件的安安全,所以以,通過文文件監(jiān)控這這個方法來來時刻監(jiān)控控文件是否否完整是保保護系統(tǒng)安安全以及發(fā)發(fā)生安全問問題后進行行初步評估估的一個重重要基礎(chǔ)。不僅如此此,在個人人私隱方面面,監(jiān)控文文件,可以以讓用戶

2、知知道自己手手機內(nèi)的文文件是否在在自己不知知情的情況況下被他人人查看,是是一個保護護個人私隱隱的有效途途徑。本文文研究Anndroiid 文件件系統(tǒng),發(fā)發(fā)現(xiàn)Anddroidd系統(tǒng)APPI提供了了FileeObseerverr抽象類,這這是一個基基于Linnux的IINotiify機制制的類,這這個類可以以用來監(jiān)聽聽系統(tǒng)中的的文件。文文章詳細說說明如何通通過這個類類來實現(xiàn)對對Andrroid 系統(tǒng)中的的多個文件件或文件夾夾進行有效效的監(jiān)控,實實現(xiàn)了一個個Andrroid平平臺手機文文件監(jiān)控系系統(tǒng),從而而讓我們可可以通過監(jiān)監(jiān)控系統(tǒng)查查看到文件件發(fā)生打開開、刪除、修改等事事件。關(guān)鍵詞 Andrroi

3、d 智能手機機;文件監(jiān)監(jiān)控;FiileObbservver;JJavaABSTRRACT Wiith tthe ppopullaritty off thee Anddroidd smaart pphonee, thhe phhones seecuriity pprobllems willl folllow.We aall kknow thatt to prottect an iimporrtantt parrt off sysstem secuurityy is to pproteect ddocumment secuurityy, fiile mmonittorinng meethodd t

4、o moniitor filee at all timees iss commplette prrotecctionn sysstem safeety aand ssecurrity probblemss an impoortannt baasis for a prrelimminarry asssesssmentt. Mooreovver, in ttermss of perssonall priivacyy, coontrool fiile, you can let the userr knoow thhat tthe ffiless witthin theiir owwn ceell p

5、phonee on theiir owwn wiithouut thhe knnowleedge of ootherrs too vieew, iis ann efffectiive wway tto prrotecct peersonnal pprivaacy. In tthis papeer, tthe AAndrooid ffile systtem, the Andrroid systtem AAPI pproviides FileeObseerverr absstracct cllass, whiich iis a Linuux-baased inottify mechhanissm

6、cllass, thiis cllass can be uused in tthe mmonittorinng syystemm fille. TThe aarticcle ddetaiiled desccripttion of hhow tto acchievve thhis cclasss Anddroidd sysstem in mmultiiple filees orr follderss forr efffectiive mmonittorinng, aan Anndroiid pllatfoorm ffor mmobille phhoness fille moonitooringg

7、 sysstem, so thatt we can throough the moniitoriing ssysteem too vieew fiile iis oppen, deleete, modiify aand ootherr eveents.KEYWOORDS Anddroidd smarrtphoone;Filee Monnitorr;FileeObseerverr;Javva目錄TOC o 1-3 h z u HYPERLINK l _Toc356681190 1 前 言言 PAGEREF _Toc356681190 h 1 HYPERLINK l _Toc356681191 1

8、.1課題題背景 PAGEREF _Toc356681191 h 1 HYPERLINK l _Toc356681192 1.2 研研究現(xiàn)狀 PAGEREF _Toc356681192 h 2 HYPERLINK l _Toc356681193 2 相關(guān)介介紹 PAGEREF _Toc356681193 h 2 HYPERLINK l _Toc356681194 2.1 AAndrooid系統(tǒng)統(tǒng)基本介紹紹2 HYPERLINK l _Toc356681195 2.1.11 什么是是Androoid?2 HYPERLINK l _Toc356681196 2.1.22 Anddroidd的由來 P

9、AGEREF _Toc356681196 h 3 HYPERLINK l _Toc356681197 2.1.33 Anddroidd系統(tǒng)的特特點與優(yōu)勢勢 PAGEREF _Toc356681197 h 4 HYPERLINK l _Toc356681198 2.1.44 Anddroidd開發(fā)環(huán)境境的配置 PAGEREF _Toc356681198 h 4 HYPERLINK l _Toc356681199 2.2 LLinuxx的INottify機機制 PAGEREF _Toc356681199 h 6 HYPERLINK l _Toc356681200 2.2.11 INootifyy機

10、制基本本介紹 PAGEREF _Toc356681200 h 6 HYPERLINK l _Toc356681201 2.2.22 FilleObsserveer類作用用 PAGEREF _Toc356681201 h 7 HYPERLINK l _Toc356681202 2.2.33 FilleObsserveer類的基基本使用方方法 PAGEREF _Toc356681202 h 8 HYPERLINK l _Toc356681203 2.3 jjava程程序設(shè)計語語言 PAGEREF _Toc356681203 h 11 HYPERLINK l _Toc356681204 3.系統(tǒng)設(shè)設(shè)

11、計 PAGEREF _Toc356681204 h 11 HYPERLINK l _Toc356681205 3.1 課課題來源 PAGEREF _Toc356681205 h 11 HYPERLINK l _Toc356681206 3.2 業(yè)業(yè)務(wù)需求 PAGEREF _Toc356681206 h 12 HYPERLINK l _Toc356681207 4.系統(tǒng)分分析與設(shè)計計方案 PAGEREF _Toc356681207 h 13 HYPERLINK l _Toc356681208 4.1 文文件監(jiān)控系系統(tǒng)的總體體設(shè)計思想想 PAGEREF _Toc356681208 h 13 HYP

12、ERLINK l _Toc356681209 4.1.11 實現(xiàn)思思想 PAGEREF _Toc356681209 h 13 HYPERLINK l _Toc356681210 4.1.22 實現(xiàn)步步驟 PAGEREF _Toc356681210 h 13 HYPERLINK l _Toc356681211 系統(tǒng)流程圖圖: PAGEREF _Toc356681211 h 15 HYPERLINK l _Toc356681212 5.監(jiān)控系系統(tǒng)各功能能模塊 PAGEREF _Toc356681212 h 15 HYPERLINK l _Toc356681213 5.1 開開始界面模模塊 PAGE

13、REF _Toc356681213 h 15 HYPERLINK l _Toc356681214 5.2 監(jiān)監(jiān)控路徑選選擇模塊 PAGEREF _Toc356681214 h 16 HYPERLINK l _Toc356681215 5.3 監(jiān)監(jiān)控模塊 PAGEREF _Toc356681215 h 17 HYPERLINK l _Toc356681216 5.4 日日志查詢模模塊 PAGEREF _Toc356681216 h 18 HYPERLINK l _Toc356681217 6.各個類類的作用 PAGEREF _Toc356681217 h 18 HYPERLINK l _Toc3

14、56681218 總類: PAGEREF _Toc356681218 h 119 HYPERLINK l _Toc356681219 6.1 MMainAActivvity類類 PAGEREF _Toc356681219 h 19 HYPERLINK l _Toc356681220 6.2 FFileMMonittorSeervicce 類 PAGEREF _Toc356681220 h 20 HYPERLINK l _Toc356681221 6.3 MMyFilleObsserveer 類 PAGEREF _Toc356681221 h 21 HYPERLINK l _Toc3566812

15、22 6.4 UUtiliity 類類 PAGEREF _Toc356681222 h 21 HYPERLINK l _Toc356681223 6.5 NNaviggatioonVieew 類 PAGEREF _Toc356681223 h 22 HYPERLINK l _Toc356681224 6.7 FFileLLayouut 類 PAGEREF _Toc356681224 h 22 HYPERLINK l _Toc356681225 6.8 FFileMManaggerLaayoutt 類 PAGEREF _Toc356681225 h 23 HYPERLINK l _Toc3566

16、81226 7.系統(tǒng)設(shè)設(shè)計與實現(xiàn)現(xiàn) PAGEREF _Toc356681226 h 24 HYPERLINK l _Toc356681227 7.1 開開發(fā)環(huán)境工工具 PAGEREF _Toc356681227 h 24 HYPERLINK l _Toc356681228 7.2 硬硬件環(huán)境 PAGEREF _Toc356681228 h 25 HYPERLINK l _Toc356681229 7.3 監(jiān)監(jiān)控系統(tǒng)功功能測試 PAGEREF _Toc356681229 h 25 HYPERLINK l _Toc356681230 7.3.11在模擬器器中測試: PAGEREF _Toc3566

17、81230 h 25 HYPERLINK l _Toc356681231 7.3.22在andrroid手手機上測試試 PAGEREF _Toc356681231 h 27 HYPERLINK l _Toc356681232 7.3.33測試結(jié)論論 PAGEREF _Toc356681232 h 28 HYPERLINK l _Toc356681233 8 總結(jié) PAGEREF _Toc356681233 h 29 HYPERLINK l _Toc356681234 8.1 畢畢業(yè)設(shè)計總總結(jié) PAGEREF _Toc356681234 h 29 HYPERLINK l _Toc35668123

18、5 8.2 經(jīng)經(jīng)驗和感想想 PAGEREF _Toc356681235 h 29 HYPERLINK l _Toc356681236 參考文獻 PAGEREF _Toc356681236 h 31 HYPERLINK l _Toc356681237 致謝 PAGEREF _Toc356681237 h 322Androoid 平平臺手機文文件監(jiān)控系系統(tǒng)的設(shè)計計與開發(fā)1 前 言言1.1課題題背景 隨著科技技的發(fā)展,以以及近年來來各種手機機操作系統(tǒng)統(tǒng)的不斷出出現(xiàn),可以以說,手機機的功能是是越來越多多也越來越越完善。因因此,手機機也更加像像是一臺移移動微型計計算機。在在日常生活活中,我們們使用手機機

19、的時間越越來越多,甚甚至在某些些方面,手手機還代替替了個人電電腦做到以以往只能用用個人電腦腦才能做的的事情,譬譬如:收發(fā)發(fā)郵件,查查看文檔,網(wǎng)網(wǎng)上購物等等等。然而而,隨著對對智能手機機的依賴,智智能手機不不僅僅是一一個手機的的存在,更更是一個存存放重要個個人信息的的一個存儲儲器,越來來越多的人人都在智能能手機上存存放了一些些個人信息息,便于日日常生活的的需要,例例如:網(wǎng)上上購物的網(wǎng)網(wǎng)銀賬號等等。一旦這這些信息泄泄露或損壞壞,將對手手機用戶造造成無法估估計的損失失。另一方面,智智能手機的的越發(fā)普及及,針對智智能手機的的惡意軟件件也不斷地地出現(xiàn)。這這些惡意軟軟件就像計計算機軟件件一般,包包含了各種

20、種木馬、蠕蠕蟲、間諜諜軟件或其其他病毒,給給手機上的的用戶信息息安全帶來來了極大的的威脅。我我們都知道道,如何維維護計算機機系統(tǒng)的安安全有很多多種途徑,其中系統(tǒng)統(tǒng)中的文件件安全問題題是不可忽忽視的。通通過文件監(jiān)監(jiān)控來時刻刻監(jiān)控文件件是否完整整是保護系系統(tǒng)安全以以及發(fā)生安安全問題后后進行初步步評估的一一個有效方方法。除此此之外,監(jiān)監(jiān)控手機文文件在一定定程度上也也是保護了了用戶的私私隱。例如如,手機內(nèi)內(nèi)的文件在在用戶不知知情的情況況下被別人人偷看,那那么,通過過監(jiān)控系統(tǒng)統(tǒng),用戶可可以知道自自己的什么么私隱在什什么時候被被其他人知知道,有了了初步的損損失估算。為此,對智智能手機上上的文件進進行監(jiān)控是

21、是必不可少少的。論文文通過對AAndrooid的學(xué)學(xué)習(xí)和研究究后,發(fā)現(xiàn)現(xiàn)Andrroid系系統(tǒng)APII里面有著著一個名叫叫FileeObseerverr的抽象類,這這是一個基基于Linnux的IINotiify機制制的類,這這個類可以以用來監(jiān)聽聽系統(tǒng)中的的某個文件件。以此為為基礎(chǔ),本本文設(shè)計實實現(xiàn)了一個個Andrroid 平臺手機機文件監(jiān)控控系統(tǒng)。1.2 研研究現(xiàn)狀 Andrroid中中文名稱為為安卓,實實際上是一個基于于Linuux的手機系統(tǒng)統(tǒng)的名稱。在20007年111月5日,該該系統(tǒng)由GGooglle正式發(fā)發(fā)布。平臺臺由四部分分組成,分分別是操作作系統(tǒng)、中中間件、用用戶界面和和應(yīng)用軟件件

22、,號稱是是第一個為為移動平臺臺專門打造造的真正開開放以及完完整的移動動軟件。隨著Anddroidd平臺的普普及以及該該平臺的開開放性,許許多在Anndroiid平臺上上運行的軟軟件也越來來越多。當(dāng)當(dāng)然,除了了那些比較較流行的游游戲類和一一些網(wǎng)絡(luò)聊聊天類等軟軟件,殺毒毒軟件也日日新月異,還還有一些比比較實用的的文件管理理的軟件??梢哉f,AAndrooid平臺臺上該有的的軟件基本本都有了,那那些不該有有的也有所所出現(xiàn)。那么,對于于文件監(jiān)控控這個模塊塊的軟件,是是不是就沒沒有了它的的存在價值值呢?就如如上面所說說的,文件件監(jiān)控是為為了保證數(shù)數(shù)據(jù)的完整整性以及用用于災(zāi)情評評估的。但但是,有人人會說,殺

23、殺毒軟件起起到的作用用不是更加加直接?可可是,殺毒毒軟件是基基本作用是是用于殺毒毒以及維護護系統(tǒng)的安安全的,對對于哪個文文件的損壞壞或者被修修改,是無無法知道的的,這時候候,文件監(jiān)監(jiān)控就起到到這個作用用。系統(tǒng)在在發(fā)生病毒毒感染后,某某些文件也也許會被修修改或者損損壞,通過過文件監(jiān)控控可以得知知是哪個文文件被打開開過、受到到損壞或者者被修改。通過得知知的結(jié)果,手手機用戶可可以以此評評估這次中中毒可能要要面臨的損損失大概是是怎么樣的的。同時,在日日常生活中中,手機被被不是該手手機用戶的的人所查看看,手機用用戶可以在在事后通過過文件監(jiān)控控得知自己己手機的哪哪個文檔被被打開查看看過,這樣樣可以起到到一

24、定的保保護私隱的的作用。相信,以后后會出現(xiàn)一一些功能更更加全面的的文件管理理方面的軟軟件,那些些軟件除了了能對系統(tǒng)統(tǒng)內(nèi)的所有有文件進行行管理的同同時,也有有著監(jiān)控的的功能,甚甚至是對某某個文件進進行加密。這樣的軟軟件,對于于手機用戶戶來說,無無疑是一個個不錯的選選擇。 2 相關(guān)介介紹2.1 AAndrooid系統(tǒng)統(tǒng)基本介紹紹2.1.11 什么是是Andrroid? Anddroidd,簡單來來說,是一一個開源手手機系統(tǒng)的的名稱。用用過Anddroidd系統(tǒng)的人人都會看到到一個類似似機器人的的圖標(biāo),這這實際上就就是Anddroidd原來的意意思。在22007年年11月55日,該系系統(tǒng)由Gooog

25、lee正式發(fā)布布。平臺由由四部分組組成,分別別是操作系系統(tǒng)、中間間件、用戶戶界面和應(yīng)應(yīng)用軟件,號號稱是第一一個為移動動平臺專門門打造的真真正開放以以及完整的的移動軟件件。簡單地說,Anndroiid是與jjava、symbbian、winddows mobiile、iios等并并駕齊驅(qū)在在手機市場場上的一個個手機操作作系統(tǒng)平臺臺。在Goooglee發(fā)布后的的一年,AAndrooid正式式興起,而而且在很短短的時間內(nèi)內(nèi)就迅速崛崛起,成為為了20110年最熱熱門的手機機操作平臺臺。2.1.22 Androoid的由由來Androoid(中中文名為:安卓)美美國的一家家成立于22003年年的公司,它

26、它的創(chuàng)辦人人一共有三三位,分別別是Anddy Ruubin,AAndy McFaaddenn以及Riicharrd Miiner Chriis Whhite。這家公司司的主要業(yè)業(yè)務(wù)為有兩兩個,是手手機軟件和和手機操作作系統(tǒng)。Andy Rubiin創(chuàng)立有有兩個手機機操作系統(tǒng)統(tǒng)公司:DDangeer和Anndroiid。曾經(jīng)經(jīng),Anddy把Daangerr 和Anndroiid分別以以5億和4千千萬美元分分別賣給微微軟和Goooglee。在20007年111月5日日,該系統(tǒng)統(tǒng)由Gooogle正正式發(fā)布。Andrroid平平臺一共由由四部分組組成:操作作系統(tǒng)(底底層)、界界面(用戶戶看到的部部分)、

27、應(yīng)用軟件件以及中間間件。同時時,Gooogle認(rèn)認(rèn)為Anddroidd是第一個個為移動平平臺專門打打造的操作作系統(tǒng),具具有開放性性以及完整整性。Androoid采用用的是一種種名叫軟件件堆層的架架構(gòu),這種種架構(gòu)又叫叫做軟件疊疊成架構(gòu),這這種架構(gòu)主主要分為三三部分。分分別是底層層、中間層層以及最上上層。其中中,以liinux作作為內(nèi)核工工作基礎(chǔ)的的是底層,只只提供最基基本的那些些功能。并并且這部分分的實現(xiàn)是是由C語言言開發(fā)的。至于中間間層,卻是是由C+語言開發(fā)發(fā)。這部分分主要包括括函數(shù)庫和和虛擬機。最后,則則是最上層層,通俗來來說,這部部分相當(dāng)于于我們平常常用的各種種手機應(yīng)用用軟件。這這些應(yīng)用軟

28、軟件大部分分由各個公公司自行開開發(fā),例如如通信程序序、短信程程序等等。還有,最最上層與前前兩層的開開發(fā)語言又又不一樣,是是用javva編寫程程序的。從Googgle發(fā)布布andrroid的的那天,GGooglle就和各各種與移動動設(shè)備相關(guān)關(guān)的產(chǎn)業(yè)建建立起深層層次的合作作關(guān)系,例例如軟件和和硬件開發(fā)發(fā)商、設(shè)備備制造商、電信運行行商等等。同時,GGooglle也希望望通過這樣樣的合作,建建立起一個個具有標(biāo)準(zhǔn)準(zhǔn)化和開放放式特點的的手機軟件件平臺,并并且形成一一個良好的的生態(tài)系統(tǒng)統(tǒng)。2.1.33 Androoid系統(tǒng)統(tǒng)的特點與與優(yōu)勢 Anddroidd系統(tǒng)是一一個完全開開放,完全全開源,完完全的自由由

29、式系統(tǒng)。應(yīng)用程序序可以并行行運行。方方便,快捷捷的獲得應(yīng)應(yīng)用程序。倘若說之前前的Symmbiann系統(tǒng)以及及Winddows Mobiile系統(tǒng)統(tǒng)都是按照照別人的意意思來生產(chǎn)產(chǎn)手機的話話,那么AAndrooid系統(tǒng)統(tǒng)則是讓廠商們的的徹底地放放開了手腳腳。這也是是為什么在在Andrroid系系統(tǒng)發(fā)布不不到一年的的時間里, HTCC Sennce、MMOTO Blurr等眾多讓讓人稱贊的的自定義UUI就出現(xiàn)在我們們的視線里里的原因。大家對于于這些優(yōu)秀秀的UI可可以說是稱稱贊不絕,同同時對于發(fā)發(fā)展商來說說,這有利利于他們宣宣揚自己的的那些品牌牌理念。所所以,越來來越多的人人們認(rèn)可了了這一個名名叫An

30、ddroidd的移動平平臺系統(tǒng)。 還記得22008年年以前,我我們到市面面上買一臺臺功能比較較健全的手手機,花費費可是很大大的。然而而,對比現(xiàn)現(xiàn)在,買一一臺功能全全面的智能能手機的價價格卻不是是很高。很很多人會說說,時代進進步了,科科技發(fā)達了了。這種說說法很對,但但是不準(zhǔn)確確。Anddroidd的出現(xiàn),可可以說是時時代的不斷斷進步的結(jié)結(jié)果,其實實,最大的的原因是aandrooid平臺臺的開源。因為,智智能手機的的操作系統(tǒng)統(tǒng)的授權(quán)費費可是不低低的。正是是由于Anndroiid的這種種開源性,廣廣大的廠商商在利用AAndrooid平臺臺進行手機機開發(fā)的時時候不再需需要支付過過去那很貴貴的授權(quán)費費用

31、??梢砸哉f,這是是很大程度度上減少了了廠商們的的開發(fā)成本本,這樣,也也就有越來來越多的廠廠商愿意投投資開發(fā)AAndrooid平臺臺的移動設(shè)設(shè)備。另一一個原因是是20099年發(fā)生了了金融風(fēng)暴暴,很多廠廠商都縮減減了開支,這這時候anndroiid的出現(xiàn)現(xiàn)就為他們們帶來了一一條新的道道路。2.1.44 Anddroidd開發(fā)環(huán)境境的配置 1.安安裝JDKK 在官網(wǎng)上找到到JDK的的安裝包并并把安裝包包下載下來來,并且進進行安裝。安裝完后后,可以通通過打開wwindoows系統(tǒng)統(tǒng)的命令提提示符,輸輸入javva vversiion,如如果安裝成成功,會看看到JDKK的版本。 2安安裝Ecllipse

32、e 在官網(wǎng)網(wǎng)上找到EEclippse的壓壓縮包,解解壓后就可可以使用了了。如下圖圖,是Ecclipsse的其中中一個版本本。 3. 安裝Anndroiid SDDK在Andrroid Deveelopeers下載載andrroid-sdk_r05-winddows.zip,解解壓后運行行安裝。 4.安安裝ADTT 打開開Ecliipse,打打開菜單“helppInsttall New Softtwaree”。點擊AAdd按鈕鈕,具體操操作請看下下面圖片介介紹。 5.創(chuàng)創(chuàng)建AVDD(為了以以后配置aandrooid的模模擬器) 在在Ecliipse中中,進行一一下操作:Winddows Annd

33、roiid SDDK annd AVVD MaanageerVirttual DeviicesNew填入Naame,選選擇Tarrget的的API(SD CCard大大小任意,SSkin隨隨便選)Harddwaree目前保持持默認(rèn)值Creaate AAVD完成以上操操作即可完完成創(chuàng)建AAVD。2.2 LLinuxx的INootifyy機制2.2.11 INootifyy機制基本本介紹 1.什什么是Innotiffy 平常,設(shè)備備的運行維維護過程中中,我們很很多時候是是需要備份份一些文件件的,或者者對一些諸諸如重要的的配置文件件進行監(jiān)控控。其中l(wèi)innux內(nèi)核核的inootifyy機制,就就能實

34、現(xiàn)對對文件的監(jiān)監(jiān)控。 通過查查看資料,IInotiify是一一個具有強強大、細粒粒度和異步步特點的機機制。實際際上,就是是一種基于于inodde級別文文件系統(tǒng)監(jiān)監(jiān)控技術(shù)。很多各種種各樣的文文件監(jiān)控需需求,它都都能夠很好好地完成,不不僅是性能能,在安全全方面也同同樣出色。對于那些被被監(jiān)視的目目標(biāo),Innotiffy是不需需要打開它它們的文件件描述符的的。同時,當(dāng)當(dāng)那些被監(jiān)監(jiān)控的目標(biāo)標(biāo)是在可移移動的介質(zhì)質(zhì)里,這個個機制在uumounnt那個可可移動介質(zhì)質(zhì)上的文件件系統(tǒng)后,那那些與文件件對應(yīng)的wwatchh就會被自自動刪除,這這時候會產(chǎn)產(chǎn)生一個uumounnt的事件件。以下是Innotiffy機制的

35、的特點:Inotiify 不不僅可以監(jiān)監(jiān)視文件,而而且可以監(jiān)監(jiān)視目錄。Inotiify 使使用系統(tǒng)調(diào)調(diào)用卻不是是 SIGGIO 來來通知文件件系統(tǒng)事件件。Inotiify的接接口是通過過使用文件件的描述符符。所以,IInotiify監(jiān)控控文件的變變化時,是是可以使用用通常的文文件I/OO 操作的的,例如:seleect 和和 polll。2.Inootifyy 可監(jiān)視視的文件系系統(tǒng)事件1、IN_ACCEESS : 文件被被訪問2、IN_MODIIFY : 文件被被寫入東西西3、IN_ATTRRIB : 文件屬屬性被修改改4、IN_CLOSSE_WRRITE : 可寫寫的文件被關(guān)閉閉5、IN_C

36、LOSSE_NOOWRITTE : 不可寫的的文件被關(guān)閉閉6、IN_OPENN : 文文件被打開開7、IN_MOVEED_FRROM : 文件被被移走,如如 mv8、IN_MOVEED_TOO : 文文件被移來來,如 mmv、cpp9、IN_CREAATE : 創(chuàng)建新新文件10、INN_DELLETE : 文件件被刪除,如如 rm11、INN_DELLETE_SELFF : 可可執(zhí)行文件件自己刪除除了自己(執(zhí)執(zhí)行過程中中)12、INN_MOVVE_SEELF : 可執(zhí)行行文件自移移動(移動動過程中)13、INN_UNMMOUNTT : 宿宿主文件系系統(tǒng)被 uumounnt14、INN_CLOO

37、SE : 文件被被關(guān)閉,等等同于(IIN_CLLOSE_WRITTE | IN_CCLOSEE_NOWWRITEE)15、INN_MOVVE : 文件被移移動,等同同于(INN_MOVVED_FFROM | INN_MOVVED_TTO)2.2.22 FileeObseerverr類作用 1.概述:FileOObserrver類類是在Anndroiid的appi中,實實際上,這這個類是基基于linnux IInotiify機制制的。主要要用于監(jiān)控控文件的一一些事件,例例如文件被被訪問創(chuàng)建建、修改、刪除、移移動等。FileOObserrver是是個抽象類類,所以必必須繼承它它才能使用用。通過查查

38、看Anddroidd apii文檔,得得知FilleObsserveer監(jiān)聽的的對象可以以是一個單單獨的文件件又或者是一個個文件夾。當(dāng)監(jiān)視的的是一個文文件夾,那那么當(dāng)該文件夾夾下所有的的文件和子子目錄發(fā)生生事件時,F(xiàn)FileOObserrver都都會被觸發(fā)發(fā)。2.監(jiān)聽的的事件類型型:1、ACCCESS,即即文件被訪訪問。2、MODDIFY,文文件被修改改。3、ATTTRIB,文文件屬性被被修改,如如 chmmod、cchownn、touuch 等等。4、CLOOSE_WWRITEE,可寫文文件被 cclosee。5、CLOOSE_NNOWRIITE,不不可寫文件件被 cllose。6、OPEE

39、N,文件件被 oppen。7、MOVVED_FFROM,文文件被移走走,如 mmv。8、MOVVED_TTO,文件件被移來,如如 mv、cp。9、CREEATE,創(chuàng)創(chuàng)建新文件件。10、DEELETEE,文件被被刪除,如如 rm。11、DEELETEE_SELLF,自刪刪除,即一一個可執(zhí)行行文件在執(zhí)執(zhí)行時刪除除自己。12、MOOVE_SSELF,自自移動,即即一個可執(zhí)執(zhí)行文件在在執(zhí)行時移移動自己。13、CLLOSE,文文件被關(guān)閉閉,等同于于(IN_CLOSSE_WRRITE | INN_CLOOSE_NNOWRIITE)。14、ALLL_EVVENTSS,包括上上面的所有有事件。 2.2.33

40、FileeObseerverr類的基本本使用方法法當(dāng)我們要對對一個文件件或者文件件夾進行監(jiān)監(jiān)聽的時候候,我們可可以使用aandrooid aapi中的的andrroid.os.FFileOObserrver這這個抽象類類。如何實現(xiàn)一一個FilleObsserveer:FileOObserrver是是個抽象類類,必須繼繼承它才能能使用。這這時候,我我們可以新新建一個類類通過exxtendds關(guān)鍵字字來繼承 FileeObseerverr 這個類類。然后覆覆蓋其構(gòu)造造器,最后后覆蓋onnEvennt(innt evvent,Striing ppath)方法:例如:publiic cllass My

41、FilleObsserveer exxtendds FiileObbservver /* ppath 是所監(jiān)聽聽的文件夾夾或者文件件名。 */ ppubliic MyyFileeObseerverr (Sttringg patth) suuper(pathh); Overrridee ppubliic vooid oonEveent(iint eeventt, Sttringg patth) 監(jiān)聽你所關(guān)關(guān)心的事件件: 在onnEvennt(innt evvent,Striing ppath)中,我們們可以通過過匹配evvent的的值,這樣樣,就可以以捕獲你想想要捕獲的的已經(jīng)發(fā)生生的事件。 例如

42、: pubblic voidd onEEventt(intt eveent, Striing ppath) swwitchh(eveent) caase aandrooid.oos.FiileObbservver.AALL_EEVENTTS: /所所有事件 相當(dāng)于ddefauult的功功能 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.CCREATTE: /文文件被創(chuàng)建建 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.OOPEN : /文文件被打開開 /*相關(guān)操作

43、 * */ breeak; caase aandrooid.oos.FiileObbservver.AACCESSS: /打打開文件后后,讀文件件內(nèi)容操作作 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.MMODIFFY: /文文件被修改改 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.AATTRIIB: /未未明操作 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.CCLOSEE_NOWWRITEE

44、: /沒沒有編輯文文件,關(guān)閉閉/*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.CCLOSEE_WRIITE: /編編輯完文件件,關(guān)閉 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.DDELETTE: /文文件被刪除除 /*相關(guān)操作 * */ breeak; caase aandrooid.oos.FiileObbservver.MMOVEDD_FROOM: /文文件被移動動 /*相關(guān)操作 * */ breeak; 在onEvvent(int evennt,Sttri

45、ngg patth)中,ppath返返回的是發(fā)發(fā)生事件的的文件名,并并且不帶路路徑,當(dāng)我我們在某個個事件當(dāng)中中需要找到到發(fā)生事件件的文件就就要結(jié)合它它的路徑才才能找得到到。2.3 jjava程程序設(shè)計語語言java編編程語言是是一種風(fēng)格格跟c、cc+語言言非常接近近的語言。既然它們們是如此相相似,毫不不例外,javaa語言如同同C或C+一樣也也是面向?qū)ο蟮某绦蛐蛟O(shè)計語言言。其中jjava語語言的面向向?qū)ο蠹夹g(shù)術(shù)的核心是是從C+語言繼承承過來的。當(dāng)然,兩兩者之間也也是有所區(qū)區(qū)別的,例例如:jaava舍棄棄了c語言言中的指針針。 說起jaava,就就不得不說說javaa語言的跨跨平臺特性性。Ja

46、vva語言跟跟一般的計計算機語言言的編譯執(zhí)執(zhí)行和解釋釋執(zhí)行過程程有著很大大的不同。javaa不是直接接編譯的,代碼運行之前需要先將源代碼編譯成字節(jié)碼,再利用不同平臺上的java虛擬機對這些字節(jié)碼進行解釋。所以,在我看來,java語言是一門應(yīng)用十分廣泛的程序設(shè)計語言。除此之外,jjava語語言還有其其他的特點點,就不詳詳細說明。例如:面向?qū)ο笙?、解釋型型、多線程程、分布式式、健壯、安全、動動態(tài)、體系系結(jié)構(gòu)中立立、可移植植、高性能等等等特點。3.系統(tǒng)設(shè)設(shè)計 3.11 課題來來源隨著手機越越發(fā)接近計計算機時,病病毒或者一一些間諜軟軟件也將智智能手機當(dāng)當(dāng)做重點的的入侵對象象。對于手手機用戶來來說,這是

47、是一個很嚴(yán)嚴(yán)重的問題題,讓手機機用戶時刻刻面臨手機機信息安全全的威脅。對文件時時刻進行監(jiān)監(jiān)控,是一一種保護文文件的有效效手段同時時也是以后后的災(zāi)情評評估的基礎(chǔ)礎(chǔ),在系統(tǒng)統(tǒng)安全上起起到重要的的作用。為為此,文件件監(jiān)控是手手機系統(tǒng)仲仲很重要的的一部分。 3.22 業(yè)務(wù)需需求 設(shè)計一一個anddroidd系統(tǒng)上的的文件監(jiān)控控系統(tǒng),為為用戶提供供監(jiān)控手機機上文件的的功能,用用戶可以通通過這個系系統(tǒng)獲取一一些關(guān)于手手機中的文文件發(fā)生事事件后的信信息。例如如,在用戶戶不知情的的情況下,手手機中的一一個文件被被其他人打打開并且查查看,監(jiān)控控系統(tǒng)就會會把這個事事件記錄下下來,用戶戶可以通過過監(jiān)控的系系統(tǒng)的日志

48、志查看功能能知道這件件事情。 3.22.1 開開始界面 11)開始監(jiān)監(jiān)控按鈕:當(dāng)用戶選擇擇好需要監(jiān)監(jiān)聽的文件件或文件夾夾時,按下下這個按鈕鈕,就能啟啟動監(jiān)控系系統(tǒng)的監(jiān)控控模塊,從從而為用戶戶提供監(jiān)控控服務(wù)。 22)停止監(jiān)監(jiān)控按鈕: 當(dāng)用戶不不再需要監(jiān)監(jiān)控系統(tǒng)提提供監(jiān)控服服務(wù)時,就就可以按下下這個按鈕鈕,就能停停止監(jiān)控服服務(wù)。 33)目錄選選擇模板: 在這個模模板上,會會顯示出當(dāng)當(dāng)前智能手手機上的所所有文件目目錄,用戶戶可以通過過這個模板板選擇自己己需要監(jiān)控控的文件目目錄。 44)日志查查看按鈕: 當(dāng)用戶已已經(jīng)啟用監(jiān)監(jiān)控系統(tǒng)的的監(jiān)控服務(wù)務(wù)后,當(dāng)監(jiān)監(jiān)控范圍內(nèi)內(nèi)的文件發(fā)發(fā)生一些事事件(如打打開,被刪

49、刪除,被修修改等),會會通過后臺臺服務(wù)把發(fā)發(fā)生事件的的時間以及及發(fā)生什么么事件記錄錄在日志上上,這時候候,用戶可可以通過點點擊這個按按鈕,系統(tǒng)統(tǒng)的界面會會跳轉(zhuǎn)到日日志查看界界面,從而而讓用戶知知道監(jiān)控過過程中發(fā)生生的事件以以及事件發(fā)發(fā)生時間。 3.33.2 監(jiān)監(jiān)控并生成成日志 11)屬于系系統(tǒng)后臺的的服務(wù),是是實現(xiàn)監(jiān)控控功能的模模塊。當(dāng)用用戶點擊在在開始界面面上的監(jiān)控控按鈕,這這個模塊就就會啟動,對對用戶已經(jīng)經(jīng)選擇好的的目錄進行行監(jiān)控。 22)當(dāng)監(jiān)控控系統(tǒng)開始始監(jiān)控服務(wù)務(wù)(用戶點點擊開始監(jiān)監(jiān)控按鈕),系系統(tǒng)會生成成一個loog.txxt,負(fù)責(zé)責(zé)記錄系統(tǒng)統(tǒng)監(jiān)控過程程中的信息息。 33)監(jiān)聽系系統(tǒng)

50、中的文文件目錄或或某一個文文件(用戶戶在開始界界面選擇的的目錄或文文件),當(dāng)當(dāng)某一個文文件發(fā)生一一些事件時時,會把該該文件的名名字、路徑徑、發(fā)生的的事件以及及發(fā)生事件件的時間這這些信息“寫進”之前生成成的logg.txtt文件中。 3.33.3 監(jiān)監(jiān)控結(jié)果查查詢界面 11)返回按按鈕: 當(dāng)當(dāng)用戶查看看完日志后后,可以通通過點擊這這個按鈕返返回開始界界面進行操操作。 22)日志顯顯示模塊: 顯顯示出loog.txxt里面的的內(nèi)容,就就是把一些些文件已經(jīng)經(jīng)發(fā)生的事事件、時間間、文件名名字以及該該文件的路路徑顯示出出來。 33)刷新按按鈕: 可可以通過這這個按鈕刷刷新當(dāng)前顯顯示狀態(tài)。例如,當(dāng)當(dāng)查看日

51、志志的同時,有有文件發(fā)生生事件,可可以通過刷刷新按鈕刷刷新當(dāng)前顯顯示界面的的信息。4.系統(tǒng)分分析與設(shè)計計方案4.1 文文件監(jiān)控系系統(tǒng)的總體體設(shè)計思想想 4.1.1 實現(xiàn)現(xiàn)思想1)分析文文件系統(tǒng),建建立文件監(jiān)監(jiān)控目錄列列表,用戶戶可以通過過這個目錄錄列表選擇擇需要監(jiān)聽聽的目錄。2)根據(jù)用用戶已經(jīng)選選擇的目錄錄,為該目目錄且以及及該目錄下下的子目錄錄設(shè)置監(jiān)聽聽器。(監(jiān)監(jiān)聽器由FFileOObserrver類類構(gòu)成,經(jīng)經(jīng)過多次的的測試,每每個FilleObsserveer類對象象只能監(jiān)聽聽一個文件件或文件夾夾,并不像像Andrroid 文檔上面面說的:監(jiān)監(jiān)聽一個文文件夾,那那么那個文文件夾下的的所有

52、文件件或子文件件夾發(fā)生事事件時,監(jiān)監(jiān)聽器都能能響應(yīng)。實實際上當(dāng)監(jiān)監(jiān)聽的對象象是文件夾夾時,那么么,該文件件夾下的文文件是可以以被監(jiān)聽到到的,但是是,對于文文件夾下的的子文件夾夾發(fā)生事件件,F(xiàn)illeObsserveer是不會會響應(yīng)的。)3)記錄文文件發(fā)生事事件(被打打開、修改改、刪除等等)后的信信息。新建建一個.TTXT文件件,負(fù)責(zé)保保存那些信信息。再通通過查看.TXT文文件,以此此作為監(jiān)控控系統(tǒng)的信信息查詢模模塊。 4.1.2 實現(xiàn)現(xiàn)步驟1)新建一一個文件列列表的布局局類FilleLayyout。通過anndroiid.oss.Envvironnmentt 中的ggetExxternnalS

53、ttoraggeDirrectoory()方法獲取取sd卡的的目錄路徑徑。自定義義方法sttringgCmp()把把文件目錄錄按照字母母表排序顯顯示。自定定義方法SStrinng getSSelecctedFFiless()獲取取用戶選中中的要監(jiān)控控的文件列列表。2)構(gòu)造好好一個監(jiān)聽聽器MyFFileOObserrver(eextennds FFileOObserrver),把把所需要響響應(yīng)的事件件在onEEventt()方法法中寫好,同同時把事件件發(fā)生后的的信息記錄錄在logg.txtt文件中RRandoomAcccessFFile raf = neew RaandommAcceessFii

54、le(llog, rw);raaf.wrrite(msg.getBBytess(UTTF-8)。3)創(chuàng)建一一個后臺服服務(wù)類FiileMoonitoorSerrvicee,用于給給目錄(已已經(jīng)被用戶戶選中的目目錄)以及及目錄下的的子目錄設(shè)設(shè)置監(jiān)聽器器。(遞歸歸調(diào)用監(jiān)聽聽器MyFFileOObserrver,以以此遍歷監(jiān)監(jiān)聽被選目目錄下的每每個子目錄錄)4)創(chuàng)建一一個工具類類Utillity。用于日志志信息的接接收以及備備份。自定定義一個方方法reaadFille()讀讀取監(jiān)聽器器發(fā)送過來來的信息。自定義方方法bacckUpLLog()備份loog。5)方法 inittLog()初初始化日志志界面

55、,用用于顯示llog.ttxt中的的信息。 系統(tǒng)流流程圖:5.監(jiān)控系系統(tǒng)各功能能模塊5.1 開開始界面模模塊 這這個模塊主主要為用戶戶提供了了了一些對監(jiān)監(jiān)控系統(tǒng)進進行一系列列操作的按按鈕,包括括開始監(jiān)控控、停止監(jiān)監(jiān)控、日志志查看這三三個按鈕。界面如下下圖:5.2 監(jiān)監(jiān)控路徑選選擇模塊 這這個模塊主主要是提供供給用戶一一個選擇路路徑的界面面??蛻艨煽梢詮倪@個個界面中選選擇想要監(jiān)監(jiān)控的文件件夾,同時時也能通過過這個模塊塊來查看系系統(tǒng)中各個個目錄以及及各個目錄錄下的文件件。其中,這這個界面有有一個“上一級”的按鈕,通通過點擊這這個按鈕可可以返回上上一個目錄錄。具體界界面如下: 5.3 監(jiān)監(jiān)控模塊 這

56、這是一個屬屬于后臺服服務(wù)的模塊塊,通過點點擊開始界界面的開始始監(jiān)控按鈕鈕以及停止止監(jiān)控按鈕鈕會執(zhí)行監(jiān)監(jiān)控文件和和停止監(jiān)控控這兩個功功能。這個個模塊的功功能實現(xiàn)過過程大致如如下: 5.4 日日志查詢模模塊 通過過點擊開始始界面的日日志查看按按鈕,可以以查看監(jiān)控控過程中發(fā)發(fā)生的事件件。具體圖圖示如下: 其其中,刷新新按鈕可以以用于刷新新日志顯示示,查看最最新的日志志。例如:當(dāng)查看日日志的過程程中,又有有文件發(fā)生生某些事件件,這時候候,點擊刷刷新按鈕,能能看到這個個剛剛查看看過程發(fā)生生的事件。 返返回按鈕,點點擊該按鈕鈕能返回主主界面。6.各個類類的作用總類: 6.1 MMainAActivvity

57、類類(相關(guān)布布局文件:actiivityy_maiin.xmml) 類類說明:顯顯示出開始始界面,通通過點擊界界面的三個個按鈕(開開始監(jiān)控、停止監(jiān)控控、日志查查看),用用戶可以對對系統(tǒng)進行行相關(guān)的操操作。6.2 FFileMMonittorSeervicce 類類說明:屬屬于后臺服服務(wù)類,接接收來自主主界面發(fā)來來的路徑信信息,根據(jù)據(jù)路徑信息息,遞歸調(diào)調(diào)用MyFFileOObserrver類類,從而實實現(xiàn)遍歷監(jiān)監(jiān)控文件夾夾的功能。6.3 MMyFilleObsserveer 類類說明:監(jiān)監(jiān)聽器,根根據(jù)FilleMonnitorrServvice 類的調(diào)用用,對文件件夾進行監(jiān)監(jiān)控。是監(jiān)監(jiān)控模塊中中

58、的監(jiān)聽器器,當(dāng)文件件或文件夾夾發(fā)生事件件時,能夠夠做出相應(yīng)應(yīng)的響應(yīng),同同時把事件件信息發(fā)送送到Utiilityy類。6.4 UUtiliity 類類類說明:在在sdcaard目錄錄下生成llog.ttxt文件件,接收來來自MyFFileOObserrver類類的信息,并并把信息記記錄在loog.txxt文件里里。6.5 NNaviggatioonVieew 類類說明:導(dǎo)導(dǎo)航控件,用用于響應(yīng)路路徑選擇模模塊中上一一級、下一一級兩個控控件。記錄錄當(dāng)前所在在的目錄6.7 FFileLLayouut 類類說明:是是文件列表表的布局類類,獲取ssd卡下的的文件和目目錄列表以以及獲取用用戶選中的的要監(jiān)控的

59、的文件列表表。6.8 FFileMManaggerLaayoutt 類類說明:是是一個用于于主界面的的控件布局局類。主要要用于初始始化控件的的排版。7.系統(tǒng)設(shè)設(shè)計與實現(xiàn)現(xiàn)7.1 開開發(fā)環(huán)境工工具1)javva 環(huán)境境:jdkk JDKK即為Jaava DDevellopmeent KKit,是是Sun Micrrosysstemss公司針對對Javaa開發(fā)員而而研發(fā)的產(chǎn)產(chǎn)品??墒鞘钦f,JDDK是整個個javaa的核心,里里面包括有有javaa的運行環(huán)環(huán)境、工具具以及基礎(chǔ)礎(chǔ)類庫。2)Anddroidd 平臺:ecliipse + anndroiid sddk Eclippse,在在我看來,是是一

60、個用于于進行jaava代碼碼編寫的工工具。實際際上,通過過相關(guān)資料料的查看,我我明白到自自己的理解解只是很片片面的一小小部分。它它應(yīng)該是一一個可擴展展開發(fā)平臺臺,例如,本本次的Anndroiid監(jiān)控系系統(tǒng)就是通通過Ecllipcee和ADTT搭配環(huán)境境后編寫的的。對于本本身來說,它它只是一個個框架以及及一組服務(wù)務(wù),依靠插插件組件來來構(gòu)建開發(fā)發(fā)環(huán)境。當(dāng)當(dāng)然它自身身附帶了一一個標(biāo)準(zhǔn)的的插件集,其其中包括JJava的的開發(fā)工具具JDK。很多人都都把Ecllipsee僅僅當(dāng)作作javaa的開發(fā)環(huán)環(huán)境來使用用,事實上上,它的功功能不僅僅僅是這樣。它有一個個組件PDEE,具有能讓軟軟件開發(fā)人人員擴展EEc

溫馨提示

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

評論

0/150

提交評論