【正文】
(約合 18美元)即可享受防盜服務(wù)。 綜觀 Android 手機(jī)系統(tǒng),我們不難發(fā)現(xiàn),應(yīng)用本系統(tǒng)開(kāi)發(fā)手機(jī)的生產(chǎn)廠商多,用戶基數(shù)大,安全性高,并受到眾多大牌公司支持,基于以上優(yōu)越性, 在 Android 系統(tǒng)上開(kāi)發(fā)本手機(jī)防盜應(yīng)用具有重要的現(xiàn)實(shí)意義。每一個(gè) Android 應(yīng)用程序均運(yùn)行在不同的進(jìn)程中, 每個(gè) 進(jìn)程 都 對(duì)應(yīng)一個(gè) Dalvik 虛擬機(jī)的實(shí)例。 Google 提供在線文檔、工具、論壇和軟件開(kāi)發(fā)工具包等資源,以便開(kāi)發(fā)者在 Android 平臺(tái)上開(kāi)發(fā)應(yīng)用程序。其 實(shí)不論你的手機(jī)值不值錢(qián),丟東西的事情本身就會(huì)讓人頭疼。 手機(jī) 功能的增多以及不斷完善,自然價(jià)格也高低不一,好的手機(jī)可以賣(mài)到 筆記本 的價(jià) 格。最后將設(shè)計(jì)完成的軟件進(jìn)行測(cè)試,其所有功能都完美實(shí)現(xiàn),真正起到了手機(jī)防盜追蹤的作用。由于現(xiàn)在人們的工作 繁忙,手機(jī)的丟失似乎也成為常有的事。 與之帶來(lái)最讓人煩心的是私人數(shù)據(jù)的丟失及帶來(lái)的不安全隱患 。 關(guān)鍵詞: Android 系統(tǒng) 手機(jī)防盜 廣播機(jī)制 監(jiān)聽(tīng)器 北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) ABSTRACT In recent years, the intelligent mobile phone function is powerful, the mobile terminal application emerge in an endless stream. Because now people39。 關(guān)于手機(jī)我 們 能想到很多 人們 擔(dān)心的話題。那么該怎樣制服盜機(jī)者,在我們提高自身防范意識(shí)的同時(shí),適當(dāng)?shù)臑槭謾C(jī)增加些防盜功能也是應(yīng)該的。并且眾多手機(jī)制造商,如三星、摩托羅拉、 HTC、 LG 和小米 等,還有許多半導(dǎo)體公司,如英特爾、德州儀器、 NVIDIA 和高通等,參與 Android 手機(jī)設(shè)計(jì)?;? Java 虛擬機(jī), Dalvik 為移動(dòng)設(shè)備進(jìn)行了優(yōu)化設(shè)計(jì)。 國(guó)內(nèi)外研究現(xiàn)狀 國(guó)內(nèi)研究狀況 毋庸置疑手機(jī)防盜應(yīng)用肯定歸屬于手機(jī)安全類(lèi)軟件,對(duì)于安全軟件的開(kāi)發(fā)與研究又是殺毒軟件公司首要考慮的功能之一,所以國(guó)內(nèi)的很多殺毒軟件公司在自己的產(chǎn)品中都涉及了防盜功能。一旦手機(jī)被盜,用戶可立即致電公司。用戶購(gòu)買(mǎi)新手機(jī)后,還可申請(qǐng)將原來(lái)手機(jī)中的全部信息轉(zhuǎn)移至新手機(jī)內(nèi)。具體做法是:首先,在拿到蘋(píng)果后,你要先申請(qǐng)屬于你的 Apple ID,登錄蘋(píng)果商店或者在 Mobile Me上注冊(cè) ,北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 3 這個(gè)應(yīng)用就可以實(shí)時(shí)定位你的 iPhone 的位置。 因此,本課題的任務(wù) 是 設(shè)計(jì)一款 基于 Android 平臺(tái)開(kāi)發(fā)的一款手機(jī)防盜軟件。 Java 語(yǔ)言最早的名字為 C++,從名字上我們可以看出, Java 語(yǔ)言的原型為 C 語(yǔ)言,后經(jīng)大量?jī)?yōu)化在 C基礎(chǔ)上增增減減,最終設(shè)計(jì)出這款 現(xiàn)在企業(yè) 級(jí) 開(kāi)發(fā)的第一語(yǔ)言 [4]。對(duì)此,我通過(guò) 觀看 Mars老師的 Java4Android視頻 和 對(duì) Java相關(guān)書(shū)籍的精讀與練習(xí), 強(qiáng)化了自己對(duì) Java語(yǔ)言的掌握, 使我對(duì) Java 的運(yùn)用能力有了很大的提高,并為編寫(xiě)與設(shè)計(jì) Android 應(yīng)用奠定了良好地基礎(chǔ)。 2020 年 11 月 5 日,以 Google 為首的 34 家公司宣布成立 OHA(Open Handset Alliance,開(kāi)放手機(jī)聯(lián)盟 )。 Android Beta( 阿童木 ) 2020 年 9月發(fā)布的 Android 第一版 , 后來(lái)由于涉及到版權(quán)問(wèn)題, Goolge 將其命名規(guī)則變更為用甜點(diǎn)作為它們系統(tǒng)版本的代號(hào)的命名方法。學(xué)習(xí)并對(duì)比這 3家在此功能上的不同。 綜合以上軟件優(yōu)點(diǎn)便是此軟件將要實(shí)現(xiàn)并達(dá)到的目標(biāo)。 如圖 就是一副很美觀的 UI。從字面上看是用戶與界面 2 個(gè)組成部分,但實(shí)際上還包括用戶與界面之間的交互關(guān) 系。一個(gè)電子產(chǎn)品擁有美觀的界面會(huì)給人帶來(lái)舒適的視覺(jué)享受,拉近 人與商品的距離,為商家創(chuàng)造賣(mài)點(diǎn)。 用 戶 開(kāi) 啟應(yīng) 用 軟 件用 戶 信 息確 認(rèn)用 戶 設(shè) 置初 始 化判 斷 是 否 是 第一 次Y NU I 主 層U I 功 能查 看 層U I 功 能查 看 層U I 功 能查 看 層 圖 UI 總流程 圖 UI 窗口層 UI窗口層分為兩個(gè)界面,一個(gè)是初次開(kāi)啟應(yīng)用時(shí) 進(jìn)入的設(shè)置初始化界面,另一個(gè)則北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 7 是 用戶在 非第一次開(kāi)啟應(yīng)用時(shí)彈出的用戶 身份 驗(yàn)證 窗口。 另外, 設(shè)置好的防盜安全密碼將會(huì)編進(jìn)防盜指令,用于控制手機(jī)實(shí)現(xiàn)相應(yīng)的操作。 UI窗口層為本應(yīng)用軟件的最頂層,此層的 UI設(shè)計(jì)好壞 決定了用戶對(duì)本軟件的第一印象,所以要想得到用戶的肯定, 這層的設(shè)計(jì)一定要做好。 圖 UI主層 在本層 UI 的上面是一個(gè)宇宙圖片,寓意著安裝本應(yīng)用后,即使你的手機(jī)被帶到了宇宙我們 也能找到它,當(dāng)然這有些夸張了,不過(guò)我們還是要對(duì)此軟件充滿信任的。 北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 9 圖 UI 功能體驗(yàn)層 當(dāng)用戶點(diǎn)擊進(jìn)入 UI 功能體驗(yàn)層的每個(gè)選項(xiàng)后,就會(huì)看到每個(gè)功能實(shí)現(xiàn)的具體說(shuō)明,而且在每個(gè)可以單機(jī)實(shí)驗(yàn)的功能里 都 加進(jìn)了功能體驗(yàn)按鈕,可以讓用戶體驗(yàn)本功能 的 真實(shí)效果。基于以上要點(diǎn),首先總結(jié)本防盜軟件的設(shè)置功能如表 2。 應(yīng)用初始化 初始化界面是讓用戶設(shè)置信息用的,所以首先我 要告訴用戶需要設(shè)置的信息都有哪些,介紹完后還要在相應(yīng)的位置給出用于填寫(xiě)信息的控件。在整個(gè) UI 的最下面我還放置了兩個(gè)按鈕,方便用戶的進(jìn)一步應(yīng)用和退出,此功能將用Button 控件實(shí)現(xiàn)。 在 Android 中所有資源文件要統(tǒng)一管理并放到 res文件夾中,并把每個(gè)資源都加上各自的 ID,以方便調(diào)用。 外面一層同樣用一個(gè)繼承 ListActivity 的類(lèi)來(lái)實(shí)現(xiàn),在 list 空間里排布好每個(gè)圖標(biāo)和文字的位置, 這里要用到 ImageView 控件添加圖片。 功能設(shè) 置 功能設(shè)置 UI為用戶可操控界面,所以要使用繼承 PreferenceActivity 的類(lèi)來(lái)完成相應(yīng)的功能,此類(lèi)是 Android 專(zhuān)門(mén)用來(lái) 做 UI設(shè)置界面用的,所以這個(gè)類(lèi)中方法的應(yīng)用也相對(duì)方便,但其布局文件與眾不同,需要在 res 文件中新建個(gè) XML 文件進(jìn)行單獨(dú)管理。 數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù) 在 Android 系統(tǒng)中,用于保存數(shù)據(jù)有 3 種方式: SQLite、 SharedPreferences 和 File。 SharedPreferences 是以鍵值對(duì)來(lái)存儲(chǔ)應(yīng)用程序 的配置信息的一種方式,它只能存儲(chǔ)基本數(shù)據(jù)類(lèi)型。 具體問(wèn)題具體分心,根據(jù)我們的需要與要求,本程序最終選定用 SharedPreferences來(lái)存儲(chǔ)我們的數(shù)據(jù)。 在我們的軟件中將會(huì)運(yùn)用大量的監(jiān)聽(tīng)器,其中包括監(jiān)聽(tīng)用戶點(diǎn)擊按鈕事件、監(jiān)聽(tīng)開(kāi)機(jī)廣播事件、監(jiān)聽(tīng)短信廣播事件等。 在 Android 里面有各種各樣的廣播,比如電池的使用狀態(tài),電話的接收和短信的接收都會(huì)產(chǎn)生一個(gè)廣播 。 GPS 服務(wù) 對(duì)于 GPS 我想大家現(xiàn)在都很了解,至少不會(huì)陌生,一般情況下每個(gè)裝載 GPS的設(shè)備都會(huì)由 3 顆衛(wèi)星進(jìn)行定位,在需要時(shí)可將設(shè)備所在的位置信息發(fā)送到 GPS 上,例如返回的經(jīng)緯度,有了這些位置 信息我們便可進(jìn)行需要的操作 [10]。 UI 的實(shí)現(xiàn) 在 Android 系統(tǒng)中, UI的構(gòu)建主要都由 Activity 類(lèi)來(lái)完成。圖 為 Google 官方給出的 Activity 生命周期流程圖。 北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 17 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 //用 findViewById的方法聲明并得到 Button控件 Button bt_sure = (Button)findViewById()。 //提交改動(dòng)到數(shù)據(jù)庫(kù)并保存 ()。 北京工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文) 18 L i n e a r L a y o u tL i n e a r L a y o u tR e l a t i v e L a y o u tL i n e a r L a y o u tT e x t V i e wT e x t V i e wT e x t V i e wT e x t V i e wT e x t V i e w E d i t T e x tL i n e a r L a y o u tT e x t V i e w E d i t T e x tL i n e a r L a y o u tT e x t V i e wT e x t V i e wT e x t V i e wB u t t o n B u t t o n 圖 layout 布局控件示意圖 ? 文件 : 為 Activity 提供布局支持的 layout 文件 是 UI如何顯示的控制中心,這個(gè)文件里的控件屬性決定了控件的顯示位置, 圖 是 為 First 提供布局 控件的 layout 的示意圖,其 主要代碼如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //第一行定義了布局文件所鏈接數(shù)據(jù)庫(kù)的版本以及支持的語(yǔ)言, utf8為中文。ListActivity 用來(lái)在屏幕中顯示一個(gè)列表,當(dāng)點(diǎn)擊 其 中的 某一列時(shí),可以觸發(fā)一些操作。 圖 典型 的 ListView示意圖。 HashMap 就是一種 Map,在 Map中數(shù)據(jù)都是以鍵值對(duì)的方式存在的,這樣,我們的數(shù)據(jù)最終在 List 中的存儲(chǔ)方式就是以鍵值對(duì)的形式存在的。 //銷(xiāo)毀數(shù)據(jù) private static final int suoding = 2。 //建立一個(gè) HashMap放進(jìn) ArrayList中 ArrayListHashMapString,Object list =new ArrayListHashMapString,Object()。 (img, )。 //覆寫(xiě) onListItemClick()方法獲得用戶點(diǎn)擊事件 Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Autogenerated method stub (l, v, position, id)。 (intent)。 因此當(dāng)我們?cè)诮缑嫔献鲈O(shè)置的時(shí)候自然就會(huì)想到 Activity+Preference 的組合,前者用于界面的構(gòu)造,后者用于設(shè)置數(shù)據(jù)的存放。所以我們只需要在布局文件中按需求添加控件就可以了。 P r e f e r e n c e S c r e e ns h e z h i . x m lt i t l es u m m a r yC h e c k B o xP r e f e r e n c e t i t l es u m m a r yC h e c k B o xP r e f e r e n c e t i t l es u m m a r yC h e c k B o xP r e f e r e n c e d i a l o g T i t l es u m m a r yE d i t T e x tP r e f e r e n c ed i a l o g T i t l es u m m a r yE d i t T e x tP r e f e r e n c et i t l ek e yP o s i t i v eB u t t o n T e x tN e g a t i v eB u t t o n T e x tt i t l ek e yP o s i t i v eB u t t o n T e x tN e g a t i v eB u t t o n T e x t 圖 文件屬性構(gòu)架 其代碼就是對(duì)屬性進(jìn)行 相應(yīng) 配置即可 如 android:password=true等,這里就不做詳細(xì)介紹了,具體代碼請(qǐng)看附錄二。 本軟件就采用第二種方法用于顯示彈出的對(duì)話框。 //生成 Dialog對(duì)象并進(jìn)行設(shè)置 builder = new (this)。 ()。 由 Sever 支持的 Function 實(shí)現(xiàn) 有了完整的 UI,我們就可以在 Function 里實(shí)現(xiàn)這些 UI對(duì)應(yīng)的功能 。 開(kāi)機(jī)完成廣播和服務(wù)狀態(tài)廣播用于監(jiān)測(cè) SIM 卡的狀態(tài)改變。 手機(jī)系統(tǒng)中自帶的有些功能都要通過(guò)這種廣播來(lái)完成動(dòng)作。 下面代碼為本應(yīng)用所有的權(quán)限注冊(cè)代碼 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 usespermission android:name= / usespermission android:n