【正文】
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)看附錄二。北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )276789101112131415161718192021222324 //生成 Dialog 對(duì)象并進(jìn)行設(shè)置 builder = new (this)。 由 Sever 支持的 Function 實(shí)現(xiàn)有了完整的 UI,我們就可以在 Function 里實(shí)現(xiàn)這些 UI 對(duì)應(yīng)的功能。手機(jī)系統(tǒng)中自帶的有些功能都要通過(guò)這種廣播來(lái)完成動(dòng)作。待手機(jī)檢測(cè)到信號(hào),可執(zhí)行移動(dòng)服務(wù)的。北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )28為了接收來(lái)自系統(tǒng)的廣播,Android 為開(kāi)發(fā)者提供了一個(gè)專(zhuān)門(mén)用于接收廣播的類(lèi)既BroadcastReceiver 類(lèi),本軟件就通過(guò)繼承此類(lèi)實(shí)現(xiàn)接收所有廣播。所以,只有 Function 的完美實(shí)現(xiàn)才能體現(xiàn)出一個(gè)軟件的真正價(jià)值。//顯示 Dialog 界面(view)。二是在 Activity 的 onCreateDialog(int id)方法中創(chuàng)建 Dialog 對(duì)象并返回,然后調(diào)用 Activty 的 showDialog(int id)和 dismissDialog(int id)來(lái)顯示和隱藏對(duì)話框。當(dāng)然 Android 的設(shè)計(jì)者也考慮到了這點(diǎn),在系統(tǒng)中為我們提供了一個(gè)專(zhuān)門(mén)用于開(kāi)發(fā)界面設(shè)置的類(lèi) PreferenceActivity,這個(gè)類(lèi)完美結(jié)合了Activity 與 Preference,很大程度的方便了我們的開(kāi)發(fā),因此我們的 UI 功能設(shè)置界面就是通過(guò)繼承此類(lèi)的類(lèi)來(lái)實(shí)現(xiàn)。// (textIntent,123)。 //向 Map 中對(duì)應(yīng)位置裝入數(shù)據(jù), (tiyan, 定位手機(jī))。下面以 UI 功能體驗(yàn)層為例根據(jù)圖 的程序流程圖分析下代碼:北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )22創(chuàng)建 T i y a n 類(lèi)覆寫(xiě) o n C r e a t e 方法通過(guò)S i m p l eA d a p t e r 裝入數(shù)據(jù)應(yīng)用L i s t I t e m Cl i c k 綁定監(jiān)聽(tīng)器用戶(hù)點(diǎn)擊按鈕事件s e tC o nt en t Vi e w顯示界面等待用戶(hù)點(diǎn)擊事件NYL a y o u tL i s t 數(shù)據(jù)框架s t a r t A c t i v i t y 到d i n g w e iL a y o u t主框架s t a r t A c t i v i t y 到d i n g w e is t a r t A c t i v i t y 到d i n g w e is t a r t A c t i v i t y 到d i n g w e is t a r t A c t i v i t y 到d i n g w e is t a r t A c t i v i t y 到d i n g w e i012345圖 體驗(yàn)功能 UI 流程圖? Java 文件:1234567891011121314//首先我們的體驗(yàn)層要繼承 ListActivitypublic class Tiyan extends ListActivity//在這里設(shè)置各功能對(duì)應(yīng)的數(shù)值private static final int dingwei = 0。使用了 ListActivity 類(lèi)后,如果整個(gè)屏幕上只需顯示一個(gè)列表,我們甚至可以把 setContentView 一行注釋掉,不用定義列表的 XML 說(shuō)明文件。//指明跳轉(zhuǎn) Activity(, )。初始化界面的整體設(shè)計(jì)流程圖如圖 所示。北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )154 手機(jī)防盜應(yīng)用方案的實(shí)施按照手機(jī)防盜應(yīng)用技術(shù)的設(shè)計(jì)理念,我將從 UI 入手,在做完界面的基礎(chǔ)上組合、銜接并加入相應(yīng)的功能,最后通過(guò) Service 實(shí)現(xiàn)后臺(tái)監(jiān)聽(tīng)、儲(chǔ)存、處理等功能。 開(kāi)機(jī)啟動(dòng)和短信廣播服務(wù)防盜應(yīng)用開(kāi)啟后會(huì)在第一時(shí)間對(duì)手機(jī)的 SIM 卡進(jìn)行檢查,判斷時(shí)候更換。實(shí)際上 sharedPreferences 是采用了 XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中,在 DDMS 中的 File Explorer 中的/data/data//shares_prefs 下。我們的 UI 設(shè)置界面就用 PreferenceScreen 來(lái)完成。例如我們的宇宙圖片。并且在 EditText 里加入 hint 屬性顯示相關(guān)提示信息。 UI 指令查看層在 UI 指令查看層,總結(jié)羅列了開(kāi)啟每個(gè)防盜功能的防盜指令,用戶(hù)可以在這里方便快捷的得到所需防盜指令,如圖 所示。除了這些我還在輸入文本框里加進(jìn)了提示信息如:輸入密碼框里的“6~12 位數(shù)字或字母”等,在方便用戶(hù)應(yīng)用的同時(shí)也美化了 UI。用戶(hù)可按照相應(yīng)提示完成放到設(shè)置,其中包括設(shè)置防盜安全密碼和設(shè)置安全電話號(hào)碼。做界面設(shè)計(jì)的“美工”也隨之被稱(chēng)之為“UI 設(shè)計(jì)師”或“UI 工程師” 。 UI 設(shè)計(jì)UI 設(shè)計(jì)是指對(duì)軟件的人機(jī)交互、操作邏輯、界面美觀的整體設(shè)計(jì)。Android Cupcake(紙杯蛋糕)Android Donut(甜甜圈)Android (松餅)Android (凍酸奶)Android Gingerbread(姜餅)Android Honeyb(蜂巢)Android Honeyb(蜂巢)Android Honeyb(蜂巢)Android Ice Cream Sandwich(冰激凌三明治)Android Jelly Bean(果凍豆)圖 Android 版本北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )53 手機(jī)防盜應(yīng)用方案的設(shè)計(jì)在電子領(lǐng)域,要想擁有很好的市場(chǎng)前景,就必須應(yīng)用最先進(jìn)的設(shè)計(jì)技術(shù)、最成熟的設(shè)計(jì)理念以及最合理的設(shè)計(jì)方法才能使得產(chǎn)品得以發(fā)展。想在 Android 系統(tǒng)上做開(kāi)發(fā),就一定要了解 Android 系統(tǒng),知道他的由來(lái)和內(nèi)部構(gòu)造。一旦手機(jī)丟失,我們便可通過(guò)向失竊手機(jī)發(fā)送指令短信的方式,應(yīng)用Android 系統(tǒng)的 GPS(Global Positioning System,全球定位系統(tǒng))、SMS(Short Messaging Service,短信服務(wù))、Activity(用戶(hù)界面)、BroadcastReceiver(廣播機(jī)制)、Intent(請(qǐng)求)、Service(服務(wù))以及 Content providers(訪問(wèn)數(shù)據(jù)庫(kù))等技術(shù)控制手機(jī)并獲得手機(jī)具體位置,旨在為丟失手機(jī)用戶(hù)找回手機(jī)提供了重要依據(jù)。警方希望這一手機(jī)防盜軟件能改善這一局面 [3]。圖 手機(jī)防盜 國(guó)外研究狀況英國(guó)一家手機(jī)服務(wù)公司宣布推出一整套手機(jī)防盜軟件的服務(wù),使用該服務(wù)的用戶(hù)在手機(jī)被盜后不僅可及時(shí)轉(zhuǎn)移手機(jī)信息,手機(jī)還能發(fā)出刺耳鳴聲,讓竊賊根本無(wú)法使用所盜手機(jī)。Android 手機(jī)設(shè)備運(yùn)行在 Linux 操作系統(tǒng)下,這使得其上運(yùn)行的 Android 應(yīng)用程序具有很強(qiáng)的安全性。在我們忙碌的工作生活中,似乎手機(jī)丟失已經(jīng)成為了一種自然的事情。本軟件利用 Android 系統(tǒng)的廣播機(jī)制,當(dāng)手機(jī)用戶(hù)開(kāi)啟防盜追蹤功能后,本程序?qū)⒑笈_(tái)監(jiān)聽(tīng)手機(jī)開(kāi)機(jī)啟動(dòng)、信號(hào)狀態(tài)、短信收發(fā)以及位置的改變,通過(guò)監(jiān)聽(tīng)手機(jī)用戶(hù) SIM 卡的 IMSI 碼的改變來(lái)判斷手機(jī)安全狀態(tài),監(jiān)聽(tīng)并截獲安全短信內(nèi)容,實(shí)現(xiàn)非法用戶(hù)的手機(jī)號(hào)碼向合法用戶(hù)預(yù)先設(shè)置的安全號(hào)碼發(fā)送特殊信息的功能,告知用戶(hù)當(dāng)前手機(jī)狀態(tài)和位置信息,并可通過(guò)安全短信控制被盜手機(jī)鎖屏、銷(xiāo)毀隱私數(shù)據(jù)、發(fā)報(bào)警音等功能?;谝陨显颍疚脑O(shè)計(jì)了一款手機(jī)防盜追蹤軟件。而最為愁人的就是現(xiàn)在的手機(jī)大都兼容各種電話卡,一旦丟失,就會(huì)機(jī)卡兩空。由此可見(jiàn),Android 發(fā)展前景不容小覷,已成為目前主流的手機(jī)操作系統(tǒng)之一。例如金山手機(jī)衛(wèi)士、360 手機(jī)衛(wèi)士、 手機(jī)管家等保護(hù)手機(jī)系統(tǒng)安全類(lèi)軟件中具有防盜功能。據(jù)倫敦市警察局統(tǒng)計(jì),該市每月約有1萬(wàn)部手機(jī)被盜。通過(guò) Android 系統(tǒng)中的廣播機(jī)制后臺(tái)監(jiān)聽(tīng)手機(jī)的各種狀態(tài),根據(jù)狀態(tài)的改變來(lái)判斷手機(jī)是否安全。 Android 基礎(chǔ)知己知彼者百戰(zhàn)百勝。其各版本 logo 如圖 所示。因此我將結(jié)合 360 的 UI、金山的 Function 和 Service 做出一款即看上去漂亮而且功能也強(qiáng)大的手機(jī)防盜軟件。在飛速發(fā)展的電子產(chǎn)品中,界面設(shè)計(jì)工作一點(diǎn)點(diǎn)的被重視起來(lái)。圖 初始化設(shè)置當(dāng)用戶(hù)第一次開(kāi)啟應(yīng)用時(shí),展現(xiàn)在用戶(hù)眼前的是一個(gè)設(shè)置初始化界面,如圖 所示。為此,在選擇文字的字體、北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )8顏色、大小以及擺放位置做了無(wú)數(shù)次的調(diào)整,努力達(dá)到最好、最舒適。其效果圖見(jiàn)附錄一。這里我們用 Android 中最常用的 TextView 和 EditText 兩個(gè)布局控件滿(mǎn)足需求。所有的調(diào)用 ID 則會(huì)放到 gen文件夾下的 文件中進(jìn)行統(tǒng)一遍歷,我們所要的資源便可從這里索取。其布局空間類(lèi)型主要分為 3 大類(lèi) AppWidget Provider、PreferenceScreen 和Searchable,其中最常用的是 PreferenceScreen,在這里又包含CheckBoxPreference、EditTextRreference、ListPreference、Preference、RreferenceCategory、PreferenceScreen 和 RingtonePreference7 個(gè)控件 [8]。一個(gè)程序的配置文件僅可以在本應(yīng)用程序中使用,或者說(shuō)只能在同一個(gè)包內(nèi)使用,不能在不同的包之間使用。監(jiān)聽(tīng)按鈕事件,是將每個(gè)按鈕綁定上一個(gè)監(jiān)聽(tīng)器,用()方法來(lái)實(shí)現(xiàn),當(dāng)觸發(fā)相應(yīng)的監(jiān)聽(tīng)器后我們就可以執(zhí)行我們想要的操作了。在本應(yīng)用中將會(huì)運(yùn)用 Android 手機(jī)的 GPS 定位系統(tǒng),為我們獲取手機(jī)的當(dāng)前位置,便于用戶(hù)找回丟失的手機(jī) 私人數(shù)據(jù)的管理當(dāng)用戶(hù)的手機(jī)丟失后恐怕最擔(dān)心的就是自己私人信息的外露,出于此考慮,本軟件將通過(guò)繼承 IntentService 的類(lèi),對(duì)用戶(hù)的通訊錄、媒體圖片進(jìn)行備份并向安全手機(jī)發(fā)送,同時(shí)將原有數(shù)據(jù)刪除,以防止不法分子的非法企圖。北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )16圖 Activity 生命周期在本軟件中有 8 個(gè) UI 直接通過(guò)繼承 Activity 類(lèi)構(gòu)成,他們的應(yīng)用方法大同小異,我就拿其中最復(fù)雜的初始化界面來(lái)介紹。//創(chuàng)建 intent 對(duì)象Intent intent = new Intent()。我們通過(guò)設(shè)置一個(gè) onListItemClick 函數(shù),來(lái)得到用戶(hù)正選擇了哪一列的信息,并做后續(xù)處理。我們只需要給 Value 對(duì)應(yīng)的 Key 賦值就可以把我們要顯示的數(shù)據(jù)裝進(jìn) List 中了。北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )23151617181920212223242526272829303132333435363738394041424344//分別生成對(duì)象,以 map1 為例,后面 4 組方法相同 HashMapString,Object map1 = new HashMapString, Object()。Intent intent = new Intent()。不過(guò)雖然做法沒(méi)錯(cuò),但是會(huì)比較繁瑣,因?yàn)槊總€(gè)設(shè)置選項(xiàng)都要建立與其對(duì)應(yīng)的 Preference。 DialogDialog 是 android 開(kāi)發(fā)過(guò)程中最常用到的組件之一,它包括以下幾種類(lèi)型:1. 警告對(duì)話框:Alertialog 2. 進(jìn)度對(duì)話框:ProgressDialog 3. 日期選擇對(duì)話框:DatePickerDialog 北 京 工 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計(jì) ( 論 文 )264. 時(shí)間選擇對(duì)話框:TimePickerDialog 5. 自定義對(duì)話框:從 Dialog 繼承 Dialog 的創(chuàng)建方式有兩種:一是直接 new 一個(gè) Dialog 對(duì)象,然后調(diào)用 Dialog 對(duì)象的 show 和 dismiss 方法來(lái)控制對(duì)話框的顯示和隱藏。(輸入密碼)。對(duì)于任何一個(gè)軟件來(lái)說(shuō),無(wú)論它有什么樣的 UI,人們最終想要獲得的還是軟件的功能。例如手機(jī)收到短信時(shí)會(huì)產(chǎn)生音樂(lè)和振動(dòng)等狀態(tài),這就是由短息模塊在接收到系統(tǒng)短信接收廣播后作