手機防盜系統畢業(yè)論文_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  手機防盜系統</b></p><p>  摘要:隨著通訊行業(yè)的迅猛發(fā)展,我國的手機用戶也在不斷的增加。據信息部的統計數據顯示,我國已有接近7.4億手機用戶。隨著手機群體的日益壯大,手機的失竊、遺失現象也變得日漸尋常,因此給用戶帶來諸多不便,甚至衍生糾紛。通過對市場進行大量的調查結合我們的專業(yè)知識,基于現在最熱門的智能手機操作系統(Android)開發(fā)一款手機衛(wèi)士

2、,賦予它手機防盜和隱私保護等功能。</p><p>  本系統主要有五大功能模塊:自動判斷手機是否丟失、GPS防盜追蹤、遠程短信備份和刪除、遠程聯系人備份和刪除、短信監(jiān)聽。系統采用廣播技術對短信進行監(jiān)聽,確保普通短信跟指令短信分離接收。跟傳統的手機防盜相比:①能備份手機數據②跟蹤手機位置③保護用戶隱私,等特色功能</p><p>  關鍵字:手機軟件、Android、手機防盜、隱私保護&l

3、t;/p><p><b>  目錄</b></p><p><b>  第一章概述1</b></p><p>  1.1、手機的發(fā)展1</p><p>  1.2、研究的狀況2</p><p>  1.2.1、傳統手機防盜技術2</p><p>

4、  1.2.2、傳統手機防盜技術存在的缺陷2</p><p>  1.2.3、用戶需求現狀3</p><p>  1.3、開發(fā)技術3</p><p>  1.3.1、Android3</p><p>  1.3.2、GPS3</p><p>  1.3.3、XML3</p><p>

5、  第二章開發(fā)環(huán)境5</p><p>  2.1、開發(fā)環(huán)境5</p><p>  2.1.1、軟件環(huán)境5</p><p>  2.1.2、硬件環(huán)境5</p><p>  2.2、開發(fā)環(huán)境的搭建5</p><p>  2.2.1、操作系統的搭建5</p><p>  2.2.2、開發(fā)

6、IDE安裝安裝Java JDK10</p><p>  2.2.3、安裝Android SDK10</p><p>  2.2.4、創(chuàng)建AVD(Android Virtual Device)10</p><p>  2.2.5、在eclipse中安裝ADT(Android Development Toos)插件11</p><p> 

7、 2.2.6、設置Android SDK位置關聯Eclipse12</p><p>  2.2.7、設置Eclipse中AVD13</p><p>  第三章系統需求的分析和總體的設計14</p><p>  3.1、編寫目的14</p><p>  3.2、項目背景15</p><p>  3.3、定義、

8、縮寫詞、符號15</p><p>  3.4、任務描述16</p><p>  3.4.1、開發(fā)目標16</p><p>  3.4.2、應用目標16</p><p>  3.4.3、項目運行環(huán)境16</p><p>  3.5、功能模塊16</p><p>  3.5.1、自動判斷

9、手機是否丟失17</p><p>  3.5.2、GPS全球定位17</p><p>  3.5.3、遠程備份、刪除通訊錄17</p><p>  3.5.4、遠程備份、刪除短信息17</p><p>  3.5.5、短信監(jiān)聽17</p><p>  3.5.6、軟件登陸找回密碼17</p>

10、<p>  3.6、數據描述18</p><p>  第四章系統詳細設計19</p><p>  4.1、功能模塊的詳細設計19</p><p>  4.1.1、自動判斷手機是否丟失19</p><p>  4.1.2、GPS全球定位19</p><p>  4.1.3、遠程備份、刪除通訊錄20

11、</p><p>  4.1.4、遠程備份、刪除短信息21</p><p>  4.1.5、短信監(jiān)聽22</p><p>  4.1.6、軟件登陸找回密碼23</p><p>  4.2、數據庫詳細設計23</p><p>  第五章系統測試及難點分析25</p><p>  5.1

12、、系統安裝部署25</p><p>  5.1.1、服務器端安裝部署25</p><p>  5.1.2、手機端的安裝部署25</p><p>  5.2、功能性測試25</p><p>  5.2.1、非空性驗證25</p><p>  5.2.2、手機號碼合法性驗證,26</p><

13、p>  5.2.3、指令短信接受驗證27</p><p>  5.2.4、短信監(jiān)聽的驗證27</p><p>  5.3、難點分析27</p><p>  5.3.1、指令短信27</p><p>  第六章總結與展望31</p><p>  6.1、工作總結31</p><p&

14、gt;  6.1.1、分析現有的手機防盜軟件。31</p><p>  6.1.2、對Android技術進行了綜述31</p><p><b>  6.2、展望31</b></p><p><b>  附錄32</b></p><p><b>  1程序截圖32</b>

15、;</p><p>  1.1、代碼部分截圖32</p><p>  1.2、程序運行界面截圖33</p><p><b>  2、代碼部分34</b></p><p>  2.1、接收指令短信代碼34</p><p>  2.2、GPS追蹤41</p><p>

16、  2.3、數據備份44</p><p><b>  3、參考書籍47</b></p><p><b>  致謝49</b></p><p><b>  第一章概述</b></p><p><b>  1.1、手機的發(fā)展</b></p>

17、<p>  從1876年第一步電話的誕生,經歷了長達一個多世紀的發(fā)展,電話通訊服務已走進了千家萬戶,成為國家經濟建設、社會生活和人們交流信息所不可缺少的重要工具,</p><p>  手機的發(fā)展經歷了三個重要的階段</p><p>  第一代手機(1G)是指模擬的移動電話,也就是在20世紀八九十年代香港美國等影視作品中出現的大哥大。最先研制出大哥大的是美國摩托羅拉公司的 Co

18、oper博士。由于當時的電池容量限制和模擬調制技術需要碩大的天線和集成電路的發(fā)展狀況等等制約,這種手機外表四四方方,只能成為可移動算不上便攜。很多人稱呼這種手機為“磚頭”或是黑金剛等。</p><p>  這種手機有多種制式,如NMT,AMPS,TACS,但是基本上使用頻分復用方式只能進行語音通信,收訊效果不穩(wěn)定,且保密性不足,無線帶寬利用不充分。此種手機類似于簡單的無線電雙工電臺,通話是鎖定在一定頻率,所以使用

19、可調頻電臺就可以竊聽通話</p><p>  第二代手機(2G)也是最常見的手機。通常這些手機使用PHS,GSM或者CDMA這些十分成熟的標準,具有穩(wěn)定的通話質量和合適的待機時間。在第二代中為了適應數據通訊的需求,一些中間標準也在手機上得到支持,例如支持彩信業(yè)務的GPRS和上網業(yè)務的WAP服務,以及各式各樣的Java程序等。</p><p>  3G,是英文3rdGeneration的縮寫

20、,指第三代移動通信技術。相對第一代模擬制式手機(1G)和第二代GSM、CDMA等數字手機(2G),第三代手機一般地講,是指將無線通信與國際互聯網等多媒體通信結合的新一代移動通信系統。它能夠處理圖像、音樂、視頻流等多種媒體形式,提供包括網頁瀏覽、電話會議、電子商務等多種信息服務。為了提供這種服務,無線網絡必須能夠支持不同的數據傳輸速度,也就是說在室內、室外和行車的環(huán)境中能夠分別支持至少2Mbps(兆字節(jié)/每秒)、384kbps(千字節(jié)/每

21、秒)以及144kbps的傳輸速度。</p><p>  3G手機相對第一代模擬制式手機(1G)和第二代GSM、TDMA等數字手機(2G),3G通信的名稱繁多,國際電聯規(guī)定為“IMT-2000”(國際移動電話2000)標準,歐洲的電信業(yè)巨頭們則稱其為“UMTS”通用移動通信系統。目前,國際上3G手機(3G handsets)有3種制式標準:歐洲的WCDMA標準、美國的CDMA2000標準和由我國科學家提出的TD-S

22、CDMA標準。現在“3G通信”快要成為人們嘴上的口頭禪了,所謂3G,其實它的全稱為3rd Generation,中文含義就是指第三代數字通信。1995年問世的第一代數字手機只能進行語音通話;而1996到1997年出現的第二代數字手機便增加了接收數據的功能,如接受電子郵件或網頁;第三代與前兩代的主要區(qū)別是在傳輸聲音和數據的速度上的提升,它能夠處理圖像、音樂、視頻流等多種媒體形式,提供包括網頁瀏覽、電話會議、電子商務等多種信息服務。相對第一

23、代模擬制式手機(1G)和第二代GSM、TDMA等數字手機(2G),3G通信的名稱繁多,國際電聯規(guī)定為“IMT-2000”(國際移 動電話2000)標準,歐洲的電信業(yè)巨頭們則稱其為“UMTS”通用移動通</p><p>  未來手機未來的手機將偏重于安全和數據通訊。一方面加強個人隱私的保護,另一方面加強數據業(yè)務的研發(fā),更多的多媒體功能被引入進來,手機將會具有更加強勁的運算能力,成為個人的信息終端,而不是僅僅具有通話

24、和文字消息的功能。</p><p>  手機的安全化將是未來手機發(fā)展的重要方向之一。</p><p><b>  1.2、研究的狀況</b></p><p>  隨著我國手機用戶的不斷增多,手機的失竊或遺失現象也日漸尋常,手機一旦丟失,手機中的手機中的數據(通訊錄、短信等)無法得到保存,用戶的隱私無法得到保護,</p><p

25、>  1.2.1、傳統手機防盜技術</p><p>  傳統的手機防盜需要在用戶進行相關設置(設置一個安全號碼)的前提下,在用戶非法更換SIM卡后,發(fā)送當前手機號碼和手機的入網序列號給安全手機。</p><p>  1.2.2、傳統手機防盜技術存在的缺陷</p><p>  傳統的手機防盜存在諸多的缺陷:</p><p>  用戶丟失手

26、機后隱私無法得到保護</p><p><b>  無法定位手機的位置</b></p><p>  用戶重要的通訊錄、日程、短信、郵件、通話記錄等無法得到備份</p><p>  用戶對丟失后的手機處于被動狀態(tài)</p><p>  用戶無法獲取手機當前的通訊狀態(tài)</p><p>  有這類功能的手機

27、都價格不菲</p><p>  1.2.3、用戶需求現狀</p><p>  鑒于傳統手機防盜追蹤的不足,用戶需要一款具有強大功能的手機防盜追蹤系統:</p><p><b>  定位手機的位置</b></p><p><b>  監(jiān)聽手機通訊</b></p><p>  遠

28、程通過指令備份用戶通訊錄</p><p>  遠程通過指令備份用戶短信</p><p><b>  保護用戶隱私</b></p><p><b>  1.3、開發(fā)技術</b></p><p>  1.3.1、Android</p><p>  Android一詞的本義指“機器

29、人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。目前,最新版本為Android 2.4 Gingerbread和Android 3.0 Honeycomb。</p><p><b>  1.3.2、GPS</b></p><

30、;p>  GPS 是英文Global Positioning System(全球定位系統)的簡稱,而其中文簡稱為“球位系”。GPS是20世紀70年代由美國陸海空三軍聯合研制的新一代空間衛(wèi)星導航定位系統 。其主要目的是為陸、海、空三大領域提供實時、 全天候和全球性的導航服務,并用于情報收集、核爆監(jiān)測和應急通訊等一些軍事目的,是美國獨霸全球戰(zhàn)略的重要組成。經過20余年的研究實驗,耗資300億美元,到1994年3月,全球覆蓋率高達98%

31、的24顆GPS衛(wèi)星星座己布設完成。在機械領域GPS則有另外一種含義:產品幾何技術規(guī)范(Geometrical Product Specifications)-簡稱GPS。</p><p><b>  1.3.3、XML</b></p><p>  XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Stand

32、ard Generalized Markup Language,標準通用標記語言)。Xml是Internet環(huán)境中跨平臺的,依賴于內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單易于掌握和使用。</p><p>  本畢業(yè)設計論文主要有五部分組

33、成,第一章是概述,概述了手機的發(fā)展、研究狀況和開發(fā)技術;第二章是開發(fā)環(huán)境的搭建,包括eclipse3.2的安裝、ADT插件的安裝、Android SDK的安裝、手機模擬器的建立;第三章是畢業(yè)設計內容,包括需求分析是說明書、功能模塊分析等;第四章是系統的詳細設計;第五章是系統的詳細設計;第六章是總結和展望;第七章是附錄,包括設計代碼和參考書籍</p><p><b>  第二章開發(fā)環(huán)境</b>

34、;</p><p><b>  2.1、開發(fā)環(huán)境</b></p><p>  2.1.1、軟件環(huán)境</p><p>  開發(fā)工具:Eclipse 3.4</p><p>  插件 ADT 0.9.7</p><p>  Android-sdk_Windows 開發(fā)包</p><

35、;p>  Jave JDK1.6</p><p><b>  操作系統:win7</b></p><p>  2.1.2、硬件環(huán)境</p><p>  CPU 雙核 2.0以上</p><p><b>  內存 4G以上</b></p><p><b>  硬

36、盤 320G</b></p><p><b>  網絡 百兆網卡</b></p><p>  2.2、開發(fā)環(huán)境的搭建</p><p>  2.2.1、操作系統的搭建</p><p>  1、將win7安裝盤放進光驅,重新啟動系統</p><p>  2、進入系統第一個安裝界面,出現選擇

37、語言窗口,采用默認,此時單擊“下一步”如圖:2.1</p><p>  圖:2.1 語言選擇</p><p>  3、閱讀許可條款,點擊“我接受許可條款”,然后單擊“下一步”,如圖2.2</p><p>  圖:2.2許可條款</p><p>  4、選擇安裝方式,這里選擇“自定義”</p><p>  5、選擇安裝

38、到那個分區(qū),按照默認選擇“磁盤0分區(qū)1”,即C盤,然后點擊“下一步”,如圖:2.3</p><p>  圖2.3安裝分區(qū)選擇</p><p>  6、現在開始安裝win7,安裝過程分五個階段(復制windows文件、展開windows文件、安裝功能、安裝更新、完成安裝),如圖2.4</p><p>  圖:2.4安裝Windows</p><

39、p>  7、系統安裝完畢后,出現“設置Windows”,輸入用戶名,單擊“下一步”,如圖:2.5</p><p>  圖:2.5設置用戶名</p><p>  8、在出現的“設置Windows”窗口中輸入密碼和面提示,單擊“下一步”,如圖:2.6</p><p>  圖:4.6設置密碼</p><p>  9、接著輸入windows

40、產品密匙,單擊“下一步”,如圖2.7</p><p>  圖:2.7輸入密匙</p><p>  10、設置時區(qū)和時間、日期</p><p>  11、選擇計算機當前的位置,下面有家庭網絡、工作網絡、公用網絡,選擇家庭網絡,如圖2.8</p><p>  圖:2.8選擇網絡</p><p>  2.2.2、開發(fā)ID

41、E安裝安裝Java JDK</p><p> ?。?)、安裝Java JDK</p><p> ?。?)、安裝Eclipse</p><p>  2.2.3、安裝Android SDK</p><p>  下載android-sdk-windows,解壓到指定地方,如:d:\android-sdk-windows,運行d:\android-s

42、dk-windows下的SDK Setup.exe進行升級下載更新包。如果它提示https不可用,則必須在settings里把“Force https..http:”這一項勾上。然后選擇左邊“Avalibale Packages”,再選在一個SDK Platform,如“SDK Platform Android2.1,API 7,revision 1”,安裝,如圖:2.9</p><p>  圖2.9聯網安裝更

43、新SDK版本</p><p>  2.2.4、創(chuàng)建AVD(Android Virtual Device)</p><p>  AVD就是電腦里虛擬的Android手機,新版本SDK需要手動添加AVD,進入SDK目錄,d:\android-sdk-windows,運行SDK Setup。Exe,點擊左邊欄“Virtual Devices”,右邊點“New”, 彈出對話框,給 這個SVD隨便取

44、一個Name,如果手機型號Hero,然后設置Target為某個Android版本,SD Card為虛擬的SVD的SD卡容量,在設置分辨率,如320*480,然后在Hardware添加到這臺AVD需要的特別設備商,如鍵盤KeyBoard等,最后點擊下面“Create AVD”完成.,如圖:2.10</p><p>  圖2.10創(chuàng)建AVD</p><p>  2.2.5、在eclipse中

45、安裝ADT(Android Development Toos)插件</p><p>  在http://dl.google.com/android/ADT-0.9.7.zip 下載一個ADT的eclipse插件,解壓后把features下的:</p><p>  com.android.ide.eclipse.adt_0.9.7.v201005071157-36220.jar</p&

46、gt;<p>  com.android.ide.eclipse.ddms_0.9.7.v201005071157-36220.jar</p><p>  復制到eclipse下的features目錄下,然后把plugins下的</p><p>  com.android.ide.eclipse.adt_0.9.7.v201005071157-36220.jar</p&

47、gt;<p>  com.android.ide.eclipse.ddms_0.9.7.v201005071157-36220.jar</p><p>  復制到eclipse下的plugins目錄下,然后重新啟動eclipse就會發(fā)現Android的小機器人圖標和新建Android工程的選項</p><p>  2.2.6、設置Android SDK位置關聯Eclipse&

48、lt;/p><p>  運行Eclipse,菜單欄“Window”|“Preferences”,左邊欄點擊“Android”,右邊SDK Location填寫SDK位置,如d:\android-sdk-windows,點擊“Apply”,選擇一個Platform,完成,如圖2.11</p><p>  圖2.11配置Android SDK位置關聯Eclipse</p><

49、p>  2.2.7、設置Eclipse中AVD</p><p>  運行Eclipse,菜單欄“Run”|“Run Configurations”,選擇Android Application,選擇一個configuration,右側選擇“Target”,再選擇一個AVD即可。</p><p>  第三章系統需求的分析和總體的設計</p><p><b&

50、gt;  3.1、編寫目的</b></p><p>  隨著通訊行業(yè)的迅猛發(fā)展,我國的手機用戶也在不斷的增加。據信息部的統計數據顯示,我國已有接近7.4億手機用戶。隨著手機群體的日益壯大,手機的失竊、遺失現象也變得日漸尋常,因此給用戶帶來諸多不便,甚至衍生糾紛</p><p>  在完成了針對“手機防盜”軟件市場的前期調查(統計結果如圖3.1),同時與多位手機防盜軟件使用者進行

51、了深入探討的基礎上,集合現在Android在中國的發(fā)展,提出了這份畢業(yè)論文。</p><p>  圖 3.1市場統計結果圖</p><p>  此畢業(yè)論文對“手機防盜”軟件做了全面細致的用戶需求分析,明確所要開發(fā)的軟件應具備之功能、性能與界面,使系統分析人員及軟件開發(fā)人員能清楚地了解用戶需求,并在此基礎上進一步提出概要設計說明書和完成后續(xù)設計與開發(fā)工作。</p><p

52、>  預計產生的效益:為項目開發(fā)奠定基礎,給項目開發(fā)人員清晰的思路。</p><p>  預計系統開發(fā)成果:編寫一個界面友好的軟件,實現預期要達到的目標,書寫論文和相關文檔,描述系統的具體開發(fā)流程和功能,通過這些提高對系統開發(fā)的認識。</p><p><b>  3.2、項目背景</b></p><p>  從20世紀八九十年代香港美國等

53、影視作品中大哥大的出現,到目前手機已經經過了三個時代(1G手機、2G手機、3G手機),未來手機未來的手機將偏重于安全和數據通訊。一方面加強個人隱私的保護,另一方面加強數據業(yè)務的研發(fā),更多的多媒體功能被引入進來,手機將會具有更加強勁的運算能力,成為個人的信息終端,而不是僅僅具有通話和文字消息的功能。</p><p>  手機的安全化將是未來手機發(fā)展的重要方向之一。</p><p>  根據對

54、同類產品的不完全統計,傳統的手機防盜追蹤軟件只能進行追蹤功能,向用戶返回受保護手機當前的經緯度,而不能主動性的去監(jiān)控受保護的手機,也不能在手機丟失后對手機進行隱私保護,避免次生危害。這樣的功能遠遠滿足不了用戶的需求。而更有很多商家利用這點功能提高手機的價格,讓用戶難以接受。</p><p>  為了讓用戶對受保護手機進行主動操作,并且根據自己的意愿進行遠程隱私保護,我們開發(fā)出了這款手機防盜軟件——Never Lo

55、st。在相關的設置前提下,可以非即時性的操控受保護的手機,既能在保護個人隱私的,又能為找回手機提供最大便利。</p><p>  3.3、定義、縮寫詞、符號</p><p>  安全手機:一般是您的第二部或親朋好友的手機。在手機丟失后,用以接收原機資料,或實施控制。</p><p>  指令短信:在手機丟失后,可以使用安全手機發(fā)送指令短信從而進行對原手機的各項操作。

56、指令短信由兩部分組成(指令+驗證碼)。</p><p>  驗證碼:用以讓程序區(qū)分普通短信與指令操控短信。需要預先設置。</p><p>  Android:本義“機器人”,是Google與2007年11月5日宣布的基于Linux平臺的開源手機操作系統,該平臺有操作系統、中間件、用戶界面和應用程序組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。</p><p&

57、gt;  XML:即可擴展標記語言,XML是Internet環(huán)境中跨平臺的,依賴于內容技術,是當前處理結構化文檔信息的有力工具</p><p>  Java:是由Sun Microsystems公司于1955年5月推出的java程序設計語言和java平臺的總稱。</p><p><b>  3.4、任務描述</b></p><p>  3.4.

58、1、開發(fā)目標</p><p>  開發(fā)一款具有功能強大,具有防盜追蹤兼隱私保護的手機防盜追蹤系統。</p><p>  3.4.2、應用目標</p><p>  讓用戶可以被動接受定位等信息的同時,也能主動的以監(jiān)控受保護手機,最大程度保護用戶數據、避免衍生危害。</p><p>  3.4.3、項目運行環(huán)境</p><p&

59、gt;  裝有Android2.1系統的手機(或者2.1以上)</p><p><b>  3.5、功能模塊</b></p><p>  描述:如圖3.2所示</p><p>  圖:3.2功能結構圖</p><p><b>  功能模塊描述:</b></p><p>  

60、3.5.1、自動判斷手機是否丟失</p><p>  軟件手機安裝,會自動掃描當前SIM卡,保存在軟件中,當手機啟動的時候,軟件會自動啟動并檢測當前SIM卡是否是以前的那張SIM卡,如果不是,視為手機已經丟失。</p><p>  3.5.2、GPS全球定位</p><p>  當軟件判斷手機丟失后,軟件會自動啟動gps全球定位,把定位信息以經緯度的形式返回給安全手

61、機。</p><p>  3.5.3、遠程備份、刪除通訊錄</p><p>  當受保護的時候收到安全手機發(fā)來的通訊錄刪除命令時,會自動先備份通訊錄,將通訊錄傳到服務器并返回給安全手機下載地址,然后清空通訊錄</p><p>  3.5.4、遠程備份、刪除短信息</p><p>  當受保護的手機收到安全手機發(fā)來的刪除短信息命令時,會自動后臺

62、先備份通訊錄,將短信傳送的服務器并返回給安全手機下載地址,然后清空通訊錄</p><p>  3.5.5、短信監(jiān)聽</p><p>  當受保護的手機收到安全手機發(fā)來的開啟短信監(jiān)聽命令時,會后臺監(jiān)聽受保護手機收到的短信,把發(fā)件人和信息內容轉發(fā)給安全手機,</p><p>  3.5.6、軟件登陸找回密碼</p><p>  為了防止軟件被其他

63、人隨便打開更改設置,在第一次安裝的時候要設置一個密碼。以后每次打開軟件時,必須輸入密碼才能對設置進行更改。而如果忘記密碼,則可以通過“密碼找回”將密碼發(fā)送至安全手機。</p><p><b>  3.6、數據描述</b></p><p>  本系統采用Xml存儲系統中所需要的數據,如圖3.3</p><p>  圖:3.3數據結構圖</

64、p><p><b>  數據描述如下</b></p><p>  第四章系統詳細設計</p><p>  4.1、功能模塊的詳細設計</p><p>  4.1.1、自動判斷手機是否丟失</p><p>  軟件手機安裝,會自動掃描當前SIM卡,保存在數據庫中,當手機啟動的時候,軟件會自動啟動并檢測

65、當前SIM卡是否是以前的那張SIM卡,如果不是,視為手機已經丟失會自動將當前的手機號碼發(fā)送到安全手機,隨后啟動GPS追蹤,追蹤手機的位置。流程圖如圖4.1</p><p>  圖4.1判斷手機是否丟失流程圖</p><p>  4.1.2、GPS全球定位</p><p>  當用戶確定手機丟失后,可以通過短信發(fā)送啟動GPS的指令給丟失后的時候,來啟動被盜手機的GP

66、S系統,GPS根據衛(wèi)星獲取當前的位置,將當前位置的經緯度以短信形式發(fā)送到安全手機。工作流程如圖4.2</p><p>  圖:4.2遠程啟動GPS最總流程圖</p><p>  4.1.3、遠程備份、刪除通訊錄</p><p>  用戶確定時候丟失后,可以通過安全手機向丟失后的時候發(fā)送備份、刪除通訊錄的指令,被盜手機收到短息后驗證是否是指令短信,如果是指令短信對指

67、令進行驗證是否是備份、刪除通訊錄指令,如果是手機收到備份刪除通訊錄指令后會對當前通訊錄進行備份(將其備份成vcf名片文件),隨后檢測手機是否開啟了GPRS服務,如果開通,講備份文件上傳到服務器,并把下載地址返回給安全手機。其工作流程如圖4.3。</p><p>  圖:4.3遠程備份、刪除通訊錄工作流程</p><p>  4.1.4、遠程備份、刪除短信息</p><

68、p>  當丟失后的時候接收到備份短信的指令后,會啟動短信備份程序,讀取所有的短信信息,將其號碼和信息一一對應以xml格式進行存儲,備份完畢后檢測當前手機是否有GPRS服務,如果有將備份文件上傳到服務器,并給用戶返回下載連接。工作流程如圖4.4</p><p>  圖:4.4遠程備份、刪除短信流程</p><p>  4.1.5、短信監(jiān)聽</p><p>  

69、當被盜手機接收到短信監(jiān)聽指令后,會啟動手機的短信監(jiān)聽。被盜手機短信監(jiān)聽啟動后,無論收到任何信息都會后臺自動把信息內容和發(fā)件人信息轉發(fā)給安全手機。工作流程如圖4.5</p><p>  圖:4.5短信監(jiān)聽工作流程</p><p>  4.1.6、軟件登陸找回密碼</p><p>  為了防止軟件被其他人隨便打開更改設置,在第一次安裝的時候要設置一個密碼。以后每次打開

70、軟件時,必須輸入密碼才能對設置進行更改。而如果忘記密碼,則可以通過“密碼找回”將密碼發(fā)送至安全手機。</p><p>  4.2、數據庫詳細設計</p><p>  本系統采用了SharedPreferences以key-value的形式進行數據存數,詳細設計如下:</p><p>  數據存儲的詳細代碼見附錄。</p><p>  第五章

71、系統測試及難點分析</p><p>  5.1、系統安裝部署</p><p>  5.1.1、服務器端安裝部署</p><p>  把服務端程序部署到tomcat服務器目錄,啟動tomcat服務器</p><p>  5.1.2、手機端的安裝部署</p><p>  把安裝文件(apk文件)拷貝到手機,運行手機安裝器,

72、找到要NeverLost進行安裝,或者用戶也可以通過“91手機助手”、“豌豆莢”等手機助手進行安裝</p><p><b>  5.2、功能性測試</b></p><p>  5.2.1、非空性驗證</p><p>  在系統設計的時候,系統的每一項都是比填項,進行了嚴謹的非空驗證,本機號碼也驗證碼(驗證碼是系統活的GSM的IMEI或者CDMA

73、的MEID)都是系統自動讀取并填寫,本機號碼不允許修改,用戶可以根據自己的需要修改驗證碼,安全手機和密碼是用戶的必填項,系統進行了嚴謹的非空驗證,如圖5.1</p><p>  圖:5.1系統對必填項非空的驗證</p><p>  5.2.2、手機號碼合法性驗證,</p><p>  為確保用戶輸入的安全手機號碼正確,當手機丟失有,安全手機能夠準確的接受信息,系統

74、采用了嚴謹的驗證。</p><p><b>  驗證適用于</b></p><p><b>  中國移動</b></p><p>  134.135.136.137.138.139.150.151.152.157.158.159.187.188.* ,147(數據卡不驗證) </p><p><

75、;b>  中國聯通</b></p><p>  130.131.132.155.156.185.186 </p><p><b>  中國電信</b></p><p>  133.153.180.189 CDMA.* 133,153 </p><p>  適合目前所有的手機號碼,如圖5.2</p&

76、gt;<p>  圖:5.2手機號碼合法性驗證</p><p>  手機號碼合法性驗證代碼片段如圖5.3</p><p>  圖:5.3手機號碼合法性驗證代碼片段</p><p>  5.2.3、指令短信接受驗證</p><p>  指令短信有“驗證碼+指令”組成,指令說明:1(獲得當前的號碼)、2(定位當前手機的位置)、3

77、(遠程備份通訊錄、并清空通訊錄)、4(遠程備份短信息、并清空短信息)、5b(開啟短信監(jiān)聽)、5e(關閉短信監(jiān)聽)。對與普通短信系統會正常接受聽響鈴提示用戶閱讀,對與指令短信系統則不會接受,系統會根據指令的不同在后臺進行相應的操作。</p><p>  5.2.4、短信監(jiān)聽的驗證</p><p>  系統收到普通短信之后(非指令短息)會檢測短信監(jiān)聽是否開啟,如果開啟則向安全手機轉發(fā)這條短信,

78、并轉發(fā)發(fā)件人信息,測試成功。</p><p><b>  5.3、難點分析</b></p><p>  5.3.1、指令短信</p><p>  指令短信也是短信,跟普通的短信沒什么區(qū)別,手機收到指令短信后也會響鈴提示用戶閱讀,用戶看到這么奇怪的短信肯定會起疑心,克服不讓手機正常的接受指令短信成了我們的一個難點。</p><

79、p>  經研究,在Android系統中,是通過廣播來通訊的。</p><p>  從現實生活中理解廣播機制 </p><p>  一聽到廣播我們第一感覺就會聯想到小時候村里面的廣播,每逢村里有什么活動都是通過廣播發(fā)送的。收聽收音機也是一種廣播,在收音機中有很多個廣播電臺,每個廣播電臺播放的內容都不相同。接受廣播時廣播(發(fā)送方 )并不在意我們(接收方 )接收到廣播時如何處理。好比我們收

80、聽交通電臺的廣播,電臺中告訴我們現在在交通狀況如何,但它并不關心我們接收到廣播時做如何做出處理,這不是廣播應該關心的問題,OK,到這里我們從生活中的一些小例子淺淺的理解了一下廣播,那么Android 中的廣播是如何操作的呢?</p><p>  Android 的廣播機制 </p><p>  在 Android 里面有各種各樣的廣播,比如電池的使用狀態(tài),電話的接收和短信的接收都會產生一個

81、廣播,應用程序開發(fā)者也可以監(jiān)聽這些廣播并做出程序邏輯的處理。下面我畫一張粗略的圖來幫助大家理解廣播的運行機制。如圖5.4</p><p>  圖:5.4Android中廣播機制</p><p>  Android 中有各式各樣的廣播,各種廣播在Android 系統中運行,當系統/應用程序運行時便會向 Android 注冊各種廣播,Android 接收到廣播會便會判斷哪種廣播需要哪種事件,

82、然后向不同需要事件的應用程序注冊事件,不同的廣播可能處理不同的事件也可能處理相同的廣播事件,這時就需要 Android 系統為我們做篩選。</p><p>  Android 廣播的生命周期</p><p>  在上面的接收器中,繼承了BroadcastReceiver 并重寫了它的onReceive 并構造了一個函數,下面通過圖片來一步一步認識 Android 廣播的生命周期。當我點擊一

83、下按鈕,它向Android 發(fā)送了一個廣播,如下圖5.5</p><p>  圖:5.5廣播動作</p><p>  這時我們再點擊一下按鈕,它還是會再向 Android 系統發(fā)送廣播,此時日志信息如圖5.6:</p><p>  圖:5.6廣播輸入信息</p><p>  Android 中廣播的生命周期很短,它并不像Activity

84、一樣復雜,運行原理很簡單如圖5.7</p><p>  圖:5.7Android中廣播的生命周期</p><p>  官方SDK對廣播的解釋如圖5.8</p><p>  圖:5.8SDK中對廣播的解釋</p><p>  大意為:如果一個廣播處理完onReceive 那么系統將認定此對象將不再是一個活動的對象,也就會finished掉它

85、。</p><p>  我們也注冊一個短信廣播,并設置其優(yōu)先級為最高,這樣以來我們的系統會在手機的短信客戶端之前收到短信,然后分析是否是指令短信,如果是就提取指令并進行相應,然后終止廣播的傳遞,手機短信客戶端就收不到短信了。</p><p><b>  第六章總結與展望</b></p><p><b>  6.1、工作總結</

86、b></p><p>  通訊行業(yè)的迅猛發(fā)展,手機通訊服務已走進了千家萬戶,成為國家經濟建設、社會生活和人們交流信息所不可缺少的重要工具,手機中的重要信息,如通訊錄、短信、日程安排等等對用戶來說遠大于手機的價值,結合手機發(fā)展的趨勢,手機的安全性問題將是成為十分有意義的課題。本系統根據現實存在的需求予以開發(fā),時限了預期的功能,目前已經有很多的用戶使用,反映良好。</p><p>  本

87、文做了一下幾個方面的工作:</p><p>  6.1.1、分析現有的手機防盜軟件。</p><p>  到目前位置,已經有很多的手機制造商和軟件制造商為手機的防盜和隱私的保護而努力,而這些手機出來之后不但價格昂貴而且效果也不佳,不能滿足用戶的需求,市場上特別是在美國也有很多硬件上的防范錯誤,這樣無非是加重了手機用戶的經濟負擔,市場需要一個免費并且好用的集防盜和隱私保護于一身的軟件。<

88、;/p><p>  6.1.2、對Android技術進行了綜述</p><p>  本文選擇了Android平臺來開發(fā)手機防盜最終和j2ee平臺開發(fā)服務端,所以深入地了解了Android和J2EE的各項核心技術及應用是十分重要的。</p><p><b>  6.2、展望</b></p><p>  手機未來的發(fā)展將是更智能

89、化、安全化,從安全角度上來考慮,手機的安全應該從兩個角度上去考慮,防盜和隱私。最重要的是用戶的隱私和數據,手機應該發(fā)展成為一個很小的網絡終端,所以的信息都存儲在服務器中,手機中的信息是從服務器中讀取的,甚至包括手機中的個人設置信息,一旦用戶的手機丟失,用戶可以把手機丟失的信息報給服務器提供商,提供商鎖定用戶當前的信息,這樣用戶的隱私就不會泄漏,數據永遠都不會丟棄。對與防盜,我覺得最重要的要從硬件生產商來考慮。</p>&l

90、t;p><b>  附錄</b></p><p><b>  1程序截圖</b></p><p>  1.1、代碼部分截圖</p><p>  手機端代碼截圖如圖 :附1</p><p>  圖:附1手機端代碼結構截圖</p><p>  服務器端代碼街頭截圖如圖:附

91、2</p><p>  圖:附2服務器端代碼結構截圖</p><p>  1.2、程序運行界面截圖</p><p>  登錄界面截圖如圖:附3</p><p>  圖:附3登錄界面截圖</p><p>  設置界面截圖如圖:附4</p><p>  圖:附4設置界面截圖</p>

92、<p>  幫助界面截圖如圖:附5</p><p>  圖:附5幫助界面截圖</p><p><b>  2、代碼部分</b></p><p>  2.1、接收指令短信代碼</p><p>  package com.zx.nl;</p><p>  import android.

93、content.BroadcastReceiver;</p><p>  import android.content.Context;</p><p>  import android.content.Intent;</p><p>  import android.os.Bundle;</p><p>  import android.t

94、elephony.SmsMessage;</p><p>  import android.util.Log;</p><p>  import com.zx.databackup.BackUpContacts;</p><p>  import com.zx.databackup.BackUpPublicFun;</p><p>  imp

95、ort com.zx.databackup.BackUpSMS;</p><p><b>  /**</b></p><p><b>  * 短信監(jiān)聽類</b></p><p><b>  * </b></p><p>  * @author 阿爾法</p>&l

96、t;p><b>  * </b></p><p><b>  */</b></p><p>  public class SmsReceiver extends BroadcastReceiver {</p><p>  private static final String strRes = "andro

97、id.provider.Telephony.SMS_RECEIVED";</p><p><b>  @Override</b></p><p>  public void onReceive(Context context, Intent intent) {</p><p><b>  try {</b><

98、;/p><p>  Log.i("info","begin");</p><p>  PublicFun.getSaveInfo(context);</p><p>  /* 讀取驗證碼 */</p><p>  String key = PublicPara.checkCode;</p>&

99、lt;p>  /* 讀取安全手機號碼 */</p><p>  String tel = PublicPara.telNum;</p><p>  /* 取得驗證碼長度 */</p><p>  int keyLength = key.length();</p><p>  /* 判斷是否是SMS_RECEIVED事件 */</p

100、><p>  if (intent.getAction().equals(strRes)) {</p><p>  Log.i("info","intent.getAction");</p><p>  /* 實例化一個傳值對象 */</p><p>  Bundle bundle = intent.get

101、Extras();</p><p>  /* 短信不為空 */</p><p>  if (bundle != null) {</p><p>  Log.i("info","get the msm");</p><p>  /* 獲取短信 */</p><p>  Object

102、[] pdus = (Object[]) bundle.get("pdus");</p><p>  Log.i("info","pdus");</p><p>  SmsMessage[] msg = new SmsMessage[pdus.length];</p><p>  Log.i("i

103、nfo","for");</p><p>  for (int i = 0; i < pdus.length; i++) {</p><p>  msg[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);</p><p><b>  }</b></p>

104、<p>  Log.i("info","for SmsMessage currMsg");</p><p>  for (SmsMessage currMsg : msg) {</p><p>  Log.i("info","get the msm");</p><p> 

105、 /* 獲取前n哥字符(用來判斷時候是指令短信) */</p><p>  String codeStr = currMsg.getDisplayMessageBody()</p><p>  .substring(0, keyLength);</p><p>  Log.i("info","String code1");&l

106、t;/p><p>  /* 獲取指令 */</p><p>  String code1 = currMsg.getDisplayMessageBody()</p><p>  .substring(</p><p>  keyLength,</p><p>  currMsg.getDisplayMessageBody(

107、)</p><p>  .length());</p><p>  Log.i("info","telAddress=currMsg");</p><p>  /* 獲取來信號碼 */</p><p>  String telAddress = currMsg</p><p> 

108、 .getDisplayOriginatingAddress().toString();</p><p>  Log.i("info","if listening is bean");</p><p>  String s1=(String)telAddress.subSequence(0,1);</p><p>  if(s

109、1.equals("+")){</p><p>  telAddress=(String) telAddress.subSequence(3, 14);</p><p><b>  }</b></p><p>  /* 如果短信監(jiān)聽已經被開啟 */</p><p>  if (!tel.equals(

110、telAddress) && PublicPara.monitSms) {</p><p>  /* 構造監(jiān)聽內容 */</p><p>  String messStr = "Monitor mobile SMS,Telephone number:"</p><p>  + telAddress</p><p

111、>  + "\nText content:"</p><p>  + currMsg.getDisplayMessageBody();</p><p><b>  try {</b></p><p>  /* 把監(jiān)聽內容發(fā)送到安全手機 */</p><p>  PublicFun.sendSms

112、(tel, messStr);</p><p>  } catch (Exception e) {</p><p><b>  }</b></p><p><b>  }</b></p><p>  Log.i("info","if the key is the cod

113、e1");</p><p>  Log.i("info",tel);</p><p>  Log.i("info",telAddress);</p><p>  /* 判斷是否是指令短信,執(zhí)行相應的操作 */</p><p>  if (codeStr.equals(key) &&am

114、p; tel.equals(telAddress)) {</p><p>  Log.i("info","if the key is the code");</p><p>  /* 獲取電話號 */</p><p>  if (code1.equals("1")) {</p><p&g

115、t;  Log.i("info","get the phone number");</p><p><b>  try {</b></p><p>  PublicFun.sendSms(tel,</p><p>  "The phone number is:"</p>

116、<p>  + PublicPara.myTelNum);</p><p>  Log.i("info","get the number success");</p><p>  } catch (Exception e) {</p><p><b>  }</b></p><

117、;p>  /* 終止廣播傳送 */</p><p>  Log.i("info","stop the abortBroadcast");</p><p>  abortBroadcast();</p><p><b>  return;</b></p><p><b&g

118、t;  }</b></p><p>  /* 啟動GPS定位 */</p><p>  if (code1.equals("2")) {</p><p><b>  try {</b></p><p>  PublicFun.sendSms(tel,</p><p>

119、;  "GPS monitor start-up success");</p><p>  new GetGpsInfo(context, PublicPara.telNum);</p><p>  } catch (Exception e) {</p><p><b>  }</b></p><p>

120、;  abortBroadcast();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  /* 清除通訊錄 */</p><p>  if (code1.equals("3")) {</p><p

121、><b>  try {</b></p><p>  /* 備份通訊錄 */</p><p>  BackUpContacts.BackupContactsInfo(context);</p><p>  /* 執(zhí)行清空 */</p><p>  PublicFun.deleteContents(context);

122、</p><p>  String ss = BackUpPublicFun</p><p>  .uploadFile(PublicPara.fileName.toString());</p><p>  Log.v("readTXT", ss);</p><p>  /* 發(fā)回報給給安全手機 */</p>

溫馨提示

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

評論

0/150

提交評論