畢業(yè)論文-基于Android平臺(tái)的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
畢業(yè)論文-基于Android平臺(tái)的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
畢業(yè)論文-基于Android平臺(tái)的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
畢業(yè)論文-基于Android平臺(tái)的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
畢業(yè)論文-基于Android平臺(tái)的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

院)題目:基于Android掃游戲的設(shè)計(jì)與實(shí)現(xiàn)

XXX

中地大(漢遠(yuǎn)與續(xù)育院1

要隨著技術(shù)通信不斷進(jìn)步,移動(dòng)通信終端設(shè)備的功能也在不斷地增長(zhǎng),朝著智能化的方向發(fā)展。手機(jī)已經(jīng)不再是個(gè)單一的通信設(shè)備,而是逐漸融合了個(gè)人信息管理,無(wú)線上網(wǎng),移動(dòng)辦公,影音娛樂(lè)等功能,成為筆記本電腦之外的另一種更便攜,更易用的辦公平臺(tái)。因此,手機(jī)的娛樂(lè)應(yīng)用服務(wù)將會(huì)有很大的發(fā)展空間,游戲也是其中之一。本系統(tǒng)主要是實(shí)現(xiàn)基于臺(tái)的掃雷游戲,掃雷是一款古老的益智游戲,其設(shè)計(jì)目的是訓(xùn)練人的邏輯思維能力。本文首先論述了Android系統(tǒng)的背景和研究現(xiàn)狀簡(jiǎn)要的介紹了的技術(shù)及對(duì)Android分析,并且介紹Android應(yīng)用程序的結(jié)構(gòu)在程序開發(fā)中,采用了先設(shè)計(jì)好游戲的類框架,然后按照各個(gè)類的實(shí)現(xiàn)進(jìn)行代碼的編寫與實(shí)現(xiàn)功能。關(guān)鍵詞:

1、智能化

2、Android3、掃雷2

錄4述44析6境6JDK8SDK9ADT9、Android應(yīng)用程析究11的11)AndroidIntent的析期20263

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)一、緒論(一)Android概述智能手機(jī)(Smartphone),具有獨(dú)立的操作系統(tǒng),像個(gè)人電腦一樣支持用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,并通過(guò)此類程序不斷對(duì)手機(jī)的功能進(jìn)行擴(kuò)充,同時(shí)可通過(guò)移動(dòng)通訊網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)接入。目前,全球多數(shù)手機(jī)廠商都有智能手機(jī)產(chǎn)品,而芬蘭諾基亞、美國(guó)蘋果、加拿大RIM(黑莓)、美國(guó)摩托羅拉、中國(guó)臺(tái)灣宏達(dá)()更是智能機(jī)中的佼佼者。智能手機(jī)具有五大特點(diǎn):具備了無(wú)線接入互聯(lián)網(wǎng)的能力,即要有的支持網(wǎng)絡(luò)下的GPRS或者是CDMA網(wǎng)絡(luò)支持下的CDMA1X3G網(wǎng)絡(luò)。2.人性化,可以根據(jù)個(gè)人需要擴(kuò)展機(jī)器的功能3.它是具有開放性的操作系統(tǒng),還可以安裝非常多的應(yīng)用程序,使得智能手機(jī)的功能可以得到無(wú)限的擴(kuò)展4.具有PDA功能,其中包括個(gè)人信息管理、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁(yè)5.強(qiáng)大的功能,擴(kuò)展性能強(qiáng),第三方軟件支持多。在二零零五年七月Google購(gòu)了Android這么一個(gè)小規(guī)模收購(gòu)行動(dòng)還是立刻引起了移動(dòng)業(yè)界的興趣,它們懷疑這是進(jìn)入移動(dòng)市場(chǎng)的的標(biāo)志。盡管如此,這個(gè)當(dāng)時(shí)只是一個(gè)小規(guī)模的移動(dòng)軟件開發(fā)公司正是由AndyRubin、RichMiner、NickSears以及ChrisWhite四個(gè)人共同創(chuàng)建的?,F(xiàn)在看來(lái),他們的懷疑是正確的。差不多兩年半以后,在零零七年十一月五日Google發(fā)布了Android,它這個(gè)的發(fā)布給移動(dòng)業(yè)界帶來(lái)了一場(chǎng)可怕的風(fēng)暴基于Linux的全新移動(dòng)操作系統(tǒng)這不單單是一個(gè)全新的移動(dòng)系統(tǒng),非常重要的是:它是開源的。從Android的發(fā)展旅途中我們看到年Andy他是一個(gè)有遠(yuǎn)見(jiàn)的人看到了2005年的起步和被Google的收購(gòu),也看到了系統(tǒng)的進(jìn)步以及新的機(jī)型的快速發(fā)布。所有這一切都讓我們相信Android將會(huì)走向世界第一移動(dòng)操作系統(tǒng)寶座的步伐是勢(shì)不可擋的。Android平板電腦也在今年的夏天開始發(fā)布以及GoogleTV發(fā)布以后(也許還有GoogleMusic?),Android可能真的會(huì)將繼續(xù)帶著我們走向移動(dòng)設(shè)備夢(mèng)想的彼岸。(二)系統(tǒng)開發(fā)背景在我們的生活中有許多的游戲,但是游戲不同,它也會(huì)給玩家?guī)?lái)不同的感受和生活理念。游戲是我們?nèi)粘I畹囊粋€(gè)必不可少的娛樂(lè)項(xiàng)目,也帶動(dòng)了游戲相關(guān)產(chǎn)業(yè)市場(chǎng)4

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)的發(fā)展。游戲平臺(tái)是經(jīng)過(guò)從游戲機(jī)到電視游戲,然后從到游戲,到手機(jī)游戲,中間經(jīng)歷了很多的技術(shù)的更新和變革。但隨著新技術(shù)的發(fā)展和我們生活水平質(zhì)量的提高,手機(jī)開始逐漸變?yōu)槠占埃驗(yàn)槭謾C(jī)是非常小巧便捷的,而且方便的特性成為我們?nèi)粘I钪斜貍渫ㄓ嵐ぞ?。而基于手機(jī)平臺(tái)的游戲也就擁有的市場(chǎng)空間是巨大的,也因隨著的開通和應(yīng)用,手機(jī)游戲必然會(huì)迎來(lái)新的一輪游戲熱潮!掃雷最原始的版本可以追溯到年一款名為“方塊”的游戲。久之后,“方塊”被改寫成了游戲Rlogic”。Rlogic里,玩家的任務(wù)是作為美國(guó)海軍陸戰(zhàn)隊(duì)隊(duì)員,為指揮中心探出一條沒(méi)有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆·安德森在“Rlogic”的基礎(chǔ)上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形1981年,軟公司的羅伯特杜爾和卡特約翰遜兩位工程師在Windows3.1系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世界推廣開來(lái)。這款游戲的玩法是在一個(gè)9*9(初級(jí)),16*16(中級(jí)),16*30(高級(jí)),或自定義大小的方塊矩陣中隨機(jī)布置一定量的地雷(初級(jí)為10個(gè),中級(jí)為40個(gè),高級(jí)為個(gè))。由玩家逐個(gè)翻開方塊,以找出所有地雷為最終游戲目標(biāo)。如果玩家翻開的方塊有地雷,則游戲結(jié)束。掃雷游戲的目標(biāo)是盡快找到雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。點(diǎn)開的數(shù)字是幾,則說(shuō)明該數(shù)字旁邊的8個(gè)位置中有幾個(gè)雷,如果挖開的是地雷,則會(huì)輸?shù)粲螒颉呃子螒蚴且豢钜嬷穷愑螒?,目前基Android平臺(tái)的掃雷游戲還比較少,本系統(tǒng)的開發(fā)主要面向Android平臺(tái),以滿足廣大手機(jī)用戶的需要。5

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)二系統(tǒng)技術(shù)分(一)Eclipse集成開發(fā)環(huán)境Eclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境()。最初主要用來(lái)Java語(yǔ)言開發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如和Python開發(fā)工具。下圖2-1是進(jìn)入Eclipse里的界面:圖2-1進(jìn)入

EclipseEclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性許多軟件開發(fā)商以Eclipse框架開發(fā)自己的IDE。Eclipse最初是由公司開發(fā)的替代商業(yè)軟件VisualAgeJava的下一代IDE開發(fā)環(huán)境,200111貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營(yíng)利軟件供應(yīng)商聯(lián)盟Eclipse金會(huì)(EclipseFoundation管理。2003年,Eclipse選擇OSGi服務(wù)平臺(tái)規(guī)范為運(yùn)行時(shí)架構(gòu)。2007年6月穩(wěn)定版3.3發(fā)布2008年6月發(fā)布代號(hào)為Ganymede的3.4版。Eclipse的基礎(chǔ)是富客戶機(jī)平臺(tái)(Client即RCP)。包括下列組件:6

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)核心平臺(tái)(啟動(dòng),運(yùn)行插件)OSGi(標(biāo)準(zhǔn)集束框架)SWT(可移植構(gòu)件工具包)JFace(文件緩沖,文本處理,文本編輯器)Eclipse工作臺(tái)(Workbench,包含視圖views)、編輯器editors)視角(perspectives)、和向?qū)В╳izards))Eclipse采用的技術(shù)是司開發(fā)的(SWT),這是一種基于Java窗口組件,類似Java本身提供的AWT和Swing窗口組件過(guò)IBM聲稱SWT比其他窗口組件更有效率。Eclipse的用戶界面還使用了GUI間層JFace,從而簡(jiǎn)化了基于的應(yīng)用程序的構(gòu)建。Eclipse的插件機(jī)制是輕型軟件組件化架構(gòu)。在富客戶機(jī)平臺(tái)上,使用插件來(lái)提供所有的附加功能,例如支持Java以外的其他語(yǔ)言。已有的分離的插件已經(jīng)能夠支持C/C++(CDT)、Perl、Ruby,Python和數(shù)據(jù)庫(kù)開發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語(yǔ)言。Eclipse的設(shè)計(jì)思想是:一切皆插件。Eclipse心很小,其它所有功能都以插件的形式附加于Eclipse核心之上基本內(nèi)核包括API(SWT/Jface)Java開發(fā)環(huán)境插件(JDT),插件開發(fā)環(huán)境(PDE)等。Eclipse由各種不同的計(jì)劃組成。以下列出了部分計(jì)劃。Eclipse計(jì)劃:本身包括Eclipse平臺(tái),富客戶端平臺(tái)()和Java開發(fā)工具(JDT)。Eclipse測(cè)試和性能工具平臺(tái)(TPTP):提供一個(gè)允許軟件開發(fā)者構(gòu)建諸如測(cè)試調(diào)試、概況分析、基準(zhǔn)評(píng)測(cè)等測(cè)試和性能工具的平臺(tái)。EclipseWeb工具平臺(tái)計(jì)劃(WTP):用Java企版應(yīng)用程序開發(fā)工具來(lái)擴(kuò)展Eclipse平臺(tái)。它由以下部分組成HTML、JavaScript、CSS、SQL、XML、XSD和WSDL的源代碼編輯器和WSDL的圖形界面編輯器Java企版“目性質(zhì)”(projectnature)、建構(gòu)器(builder和模型(model),與一個(gè)Java企業(yè)版的導(dǎo)航(navigator);一個(gè)服(Webservice向?qū)Ш蜑g覽器,還有一個(gè)測(cè)試工具;最后是數(shù)據(jù)庫(kù)訪問(wèn)查詢的工具與模型。Eclipse商業(yè)智能和報(bào)表工具計(jì)劃BIRT:提Web應(yīng)用程序(特別是基Java企業(yè)版的)的報(bào)表開發(fā)工具。7

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)Eclipse可視化界面編輯器計(jì)(VEP一個(gè)Eclipse下創(chuàng)建圖形用戶界面代碼生成器的框架。Eclipse建??蚣蹺MF):依據(jù)使用MI描述的建模規(guī)格,生成結(jié)構(gòu)化數(shù)據(jù)模型的工具和其他應(yīng)用程序的代碼。圖形化編輯器框架GEF):能讓開發(fā)者采用一個(gè)現(xiàn)成的應(yīng)用程序模型來(lái)輕松地創(chuàng)建富圖形化編輯器。UML2:Eclipse平臺(tái)下的一個(gè)UML2.0元模型的實(shí)現(xiàn),用以支持建模工具的開發(fā)。AspectJ:一種針對(duì)的面向側(cè)面語(yǔ)言擴(kuò)展。Eclipse通訊框架():專注于在Eclipse平臺(tái)上創(chuàng)建通訊應(yīng)用程序的工作。Eclipse數(shù)據(jù)工具平臺(tái)計(jì)劃()Eclipse設(shè)備驅(qū)動(dòng)軟件開發(fā)計(jì)劃()C/C++開發(fā)工具計(jì)劃():努力為平臺(tái)提供一個(gè)全功能和的集成開發(fā)環(huán)境(IDE),它使用GCC作為編譯器。Eclipse平臺(tái)COBOL集成開發(fā)環(huán)境子計(jì)(COBOL將構(gòu)建一個(gè)Eclipse平臺(tái)上的全功能COBOL集成開發(fā)環(huán)境。并行工具平臺(tái)PTP:將開發(fā)一個(gè)對(duì)并行計(jì)算機(jī)架構(gòu)下的一組工具進(jìn)行集成的平行工具平臺(tái),而且這個(gè)平臺(tái)是可移植的,可伸縮的并基于標(biāo)準(zhǔn)的。嵌入式富客戶端平(eRCP劃將Eclipse客戶端平臺(tái)擴(kuò)展到嵌入式設(shè)備上。這個(gè)平臺(tái)主要是一個(gè)富客戶端平臺(tái)RCP組件子集的集合。它能讓桌面環(huán)境下的應(yīng)用程序模型能夠大致同樣地能運(yùn)用在嵌入式設(shè)備上。(二)JDKJDK(JavaDevelopmentKit是Microsystems對(duì)開發(fā)員的產(chǎn)品。自從Java推出以來(lái),JDK已經(jīng)成為使用最廣泛的SDK。JDK是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境、Java工具和Java基礎(chǔ)類庫(kù)。是學(xué)好Java的第一步。而專門運(yùn)行在x86平臺(tái)的Jrocket在服務(wù)端運(yùn)行效率也要比JDK好很多從的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。JDK包含的基本組件包括:javac–編譯器,將源程序轉(zhuǎn)成字節(jié)碼jar–打包工具,將相關(guān)的類文件打包成一個(gè)文件8

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)javadoc–文檔生成器,從源碼注釋中提取文檔jdb–debugger,查錯(cuò)工具java–運(yùn)行編譯后的程序(.class后綴的)appletviewer:小程序?yàn)g覽器,一種執(zhí)行文件上的Java程序的Java瀏覽器。Javah:產(chǎn)生可以調(diào)用Java程的C過(guò)程,或建立能被程序調(diào)用的過(guò)程的頭文件。Javap:Java反匯編器,顯示編譯類文件中的可訪問(wèn)功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。Jconsole:Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具(三)AndroidSDKSDK:(softwarekit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,AndroidSDK指的既是Android專屬的軟件開發(fā)工具包。其最震撼人心之處在于Android手機(jī)系統(tǒng)的開放性和服務(wù)免費(fèi)Android是一個(gè)對(duì)第三方軟件完全開放的平臺(tái),開發(fā)者在為其開發(fā)程序時(shí)iPhone等只能添加為數(shù)不多的固定軟件的枷鎖。(四)ADT

擁有更大的自由度,突破了抽象數(shù)據(jù)類型AbstractDataType)是指一個(gè)數(shù)學(xué)模型以及定義在該模型上的一組操作。ADT包括數(shù)據(jù)數(shù)據(jù)元素,數(shù)據(jù)關(guān)系以及相關(guān)的操作。即ADT{數(shù)據(jù)對(duì)象:(數(shù)據(jù)元素集合)數(shù)據(jù)關(guān)系:(數(shù)據(jù)關(guān)系二元組結(jié)合)基本操作:(操作函數(shù)的羅列)}抽象數(shù)據(jù)類型ADT)的一個(gè)實(shí)現(xiàn)包括儲(chǔ)存數(shù)據(jù)元素的存儲(chǔ)結(jié)構(gòu)以及實(shí)現(xiàn)基本操作的算法。在這個(gè)數(shù)據(jù)抽象思想中,數(shù)據(jù)類型的定義和它的實(shí)現(xiàn)是分開的,這在軟件設(shè)計(jì)中是一個(gè)重要的概念這使得只研究和使用它的結(jié)構(gòu)而不用考慮它的實(shí)現(xiàn)細(xì)節(jié)成為可能。9

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)在面向?qū)ο缶幊陶Z(yǔ)言中,像C++、Java都較好的支持,如類的機(jī)制。而在C語(yǔ)言中缺少了對(duì)相關(guān)方法的支持。抽象數(shù)據(jù)類型需要通過(guò)固有數(shù)據(jù)類型(高級(jí)編程語(yǔ)言中已實(shí)現(xiàn)的數(shù)據(jù)類型)來(lái)實(shí)現(xiàn)。抽象數(shù)據(jù)類型是與表示無(wú)關(guān)的數(shù)據(jù)類型,是一個(gè)數(shù)據(jù)模型及定義在該模型上的一組運(yùn)算。對(duì)一個(gè)抽象數(shù)據(jù)類型進(jìn)行定義時(shí),必須給出它的名字及各運(yùn)算的運(yùn)算符名,即函數(shù)名,并且規(guī)定這些函數(shù)的參數(shù)性質(zhì)。一旦定義了一個(gè)抽象數(shù)據(jù)類型及具體實(shí)現(xiàn),程序設(shè)計(jì)中就可以像使用基本數(shù)據(jù)類型那樣,十分方便地使用抽象數(shù)據(jù)類型。10

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)三、Android應(yīng)用程序結(jié)構(gòu)剖析(一)Android系統(tǒng)架構(gòu)研究Android是一個(gè)包含操作系統(tǒng)介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來(lái)的軟件堆棧架構(gòu)。由下而上,其核心為嵌入Linux2.6作業(yè)系統(tǒng),向上搭配Google為Android開發(fā)的類庫(kù)及Android運(yùn)行時(shí),再配合應(yīng)用程序架構(gòu),來(lái)開發(fā)各種不同的應(yīng)用程序。Android體系結(jié)構(gòu)如下所示:圖3-1Android體系結(jié)構(gòu)(二)Android的APIAndroidAPI主要包含了以下幾個(gè)部分:(1)AndroidManifest.xmlAndroidManifest.xml是系統(tǒng)的控制文件告訴系統(tǒng)如何處理所創(chuàng)建的所有應(yīng)用組件(尤其是活動(dòng)(Activity)務(wù)(Service)接收器(IntentReceiver)和內(nèi)容提供者(Content。舉例來(lái)說(shuō),控制文件就是把活動(dòng)和要接收的意圖(Intents)連接在一起的“膠水”。(2)活動(dòng)活動(dòng)就是一個(gè)有生命周期的對(duì)象。一個(gè)活動(dòng)就是完成某些工作的代碼塊,這11

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)部分工作還可能包括對(duì)用戶UI界面的顯示。不過(guò)這不是必須的,有些活動(dòng)從不顯示UI界面。(3)視圖視圖可以將其自身繪制到屏幕上Android的用戶界面由一系列的視圖樹構(gòu)成。接口都是由一組以樹的形式出現(xiàn)的視圖組成的。開發(fā)者可以通過(guò)創(chuàng)建一個(gè)新的視圖的方法來(lái)使用自定義的圖形處理技術(shù)(比如開發(fā)游戲或者是使用了不常用的用戶圖形窗口界面)。(4)意圖意圖是一個(gè)簡(jiǎn)單的消息對(duì)象,它表示程序想做某事的“意圖”。比如應(yīng)用程序想要顯示一個(gè)網(wǎng)頁(yè)那么它可以通過(guò)創(chuàng)建一個(gè)Intent實(shí)例并將其傳遞給系統(tǒng)來(lái)表示意圖瀏覽這個(gè)URI統(tǒng)將定位到能處理這一Intent的代碼(在當(dāng)前情況下就是瀏覽器),并運(yùn)行之。意圖也可以用于廣播系統(tǒng)范圍內(nèi)的有效事(如通知事件)。(5)服務(wù)服務(wù)是運(yùn)行在后臺(tái)的一段代碼。它可以運(yùn)行在它自己的進(jìn)程,也可以運(yùn)行在其他應(yīng)用程序的進(jìn)程里,這取決于自身的需.其它的組件可以綁定到一個(gè)服務(wù)上來(lái),通過(guò)遠(yuǎn)程過(guò)程調(diào)用(RPC)調(diào)用這個(gè)方法。例如媒體播放器的服務(wù),當(dāng)用戶退出媒體選擇的界面時(shí),仍然希望音樂(lè)依然可以繼續(xù)播放,這時(shí)就可用服務(wù)來(lái)保證當(dāng)用戶界面關(guān)閉時(shí)音樂(lè)還繼續(xù)播放著。(6)通知通知將以小圖標(biāo)的形式呈現(xiàn)在狀態(tài)欄里戶通過(guò)與圖標(biāo)的交互來(lái)接收消息。最常見(jiàn)的通知包括短信息、通話記錄和語(yǔ)音郵件,但是應(yīng)用程序也可以創(chuàng)建它們自己的通知事件。(7)內(nèi)容提供者內(nèi)容提供者是用來(lái)提供對(duì)設(shè)備上數(shù)據(jù)進(jìn)行訪問(wèn)。典型的例子就是使用內(nèi)容提供者來(lái)訪問(wèn)聯(lián)系人列表。應(yīng)用程序也可以使用其它程序通過(guò)內(nèi)容提供者提供的數(shù)據(jù),同時(shí)也可以定義自己的內(nèi)容提供者來(lái)向其它應(yīng)用提供數(shù)據(jù)訪問(wèn)服務(wù)。(三)Android應(yīng)用程序結(jié)構(gòu)解析通常由以下四個(gè)組件來(lái)構(gòu)建一個(gè)完整的應(yīng)用程序。①活動(dòng)②意圖接收器12

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)③服務(wù)④內(nèi)容提供者然而,并不是所有的應(yīng)用程序都必須具備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來(lái)組建決定使用以上哪些組件來(lái)構(gòu)建應(yīng)用程序時(shí),需要將它們注冊(cè)在文件中,這是一個(gè)XML置文件,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的。1、活動(dòng)活動(dòng)是以上四個(gè)組件中最常用的一個(gè)。每個(gè)活動(dòng)都Activity子類并實(shí)現(xiàn)了一些獨(dú)有的功能,如管理UI顯示和UI反饋事件。一個(gè)活動(dòng)就相當(dāng)于應(yīng)用程序的一個(gè)用戶界面,由事件響應(yīng)以及視圖等組成。大多數(shù)的應(yīng)用程序通常包括多個(gè)界面。例如:一個(gè)文本聊天應(yīng)用程序,至少應(yīng)該包含一個(gè)聯(lián)系人列表界面、一個(gè)聊天界面、一個(gè)設(shè)置界面、一個(gè)聊天記錄查詢界面等等。每個(gè)界面其實(shí)都可看作是一個(gè)活動(dòng)。顯示一個(gè)新界面就相當(dāng)于生成一個(gè)對(duì)應(yīng)的活動(dòng)對(duì)象。在一些情況下,活動(dòng)能夠返回給它的上級(jí)界面一個(gè)返回值,例如一個(gè)提供給用戶選擇照片的活動(dòng)可以返回給它的調(diào)用者用戶選擇了哪個(gè)照片文件。當(dāng)一個(gè)新的活動(dòng)出現(xiàn)時(shí),前一個(gè)活動(dòng)被中斷并被放入到一個(gè)歷史堆棧中。用戶可以使用返回鍵使前一個(gè)活動(dòng)重現(xiàn)。當(dāng)一個(gè)活動(dòng)不再需要時(shí),可以將它們從歷史堆棧中移除默認(rèn)情況下會(huì)為每個(gè)應(yīng)用程序保留從主界面開始的歷史堆棧。Android通過(guò)一個(gè)被稱作意圖的特殊類來(lái)實(shí)現(xiàn)界面與界面之間的跳轉(zhuǎn)一個(gè)意圖描述了一個(gè)應(yīng)用程序想要做什么。在意圖的描述結(jié)構(gòu)中,含有兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu):動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類型包括MAINVIEW、EDIT等等動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URI的形式表示如:顯示一個(gè)聯(lián)系人信息的界面,可以創(chuàng)建一個(gè)意圖將它的動(dòng)作設(shè)置VIEW設(shè)置成表示這個(gè)人信息URI。除此之外,還有一個(gè)被稱作意圖過(guò)濾(IntentFiher)的相關(guān)類當(dāng)發(fā)生一個(gè)有效的目的請(qǐng)求時(shí),意圖過(guò)濾器用來(lái)描述一個(gè)活動(dòng)能夠處理什么意圖。如上例中所描述,想要正常顯示一個(gè)聯(lián)系人信息的界面,必須聲明一個(gè)意圖過(guò)濾器,它說(shuō)明當(dāng)有聯(lián)系人數(shù)據(jù)要被在界面上顯示時(shí),知道如何處理它們。通常意圖過(guò)濾器要被注冊(cè)在文件中。從一個(gè)界面跳轉(zhuǎn)到另一個(gè)界面是由解析各種意圖實(shí)現(xiàn)的。例如:一個(gè)活動(dòng)使用startActivity(myIntent)來(lái)調(diào)用其他活動(dòng)13

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)時(shí),系統(tǒng)會(huì)查找所有已經(jīng)安裝的應(yīng)用程序的意圖過(guò)濾器,并從中挑選出能夠匹配myIntent意圖的活動(dòng)。隨后,這個(gè)新的活動(dòng)接收到意圖myIntent)的通知并開始運(yùn)行。當(dāng)法被調(diào)用,解析意圖的處理過(guò)程隨之發(fā)生,這個(gè)機(jī)制有以下兩個(gè)突出的優(yōu)點(diǎn):活動(dòng)可以通過(guò)一個(gè)以意圖形式產(chǎn)生的請(qǐng)求來(lái)重用其他組件的功能?;顒?dòng)可以在任何時(shí)候被一個(gè)具有等價(jià)意圖過(guò)濾器的新活動(dòng)所替代。2、意圖接收器當(dāng)想要編寫代碼來(lái)對(duì)外部事件做一些處理時(shí),可以使用意圖接收器。意圖接收器并不顯示UI界面它是通過(guò)來(lái)通知用戶他們感興趣的事件發(fā)生了。意圖接收器同樣可以被注冊(cè)在件中,同時(shí)也可以在代碼中使用來(lái)注冊(cè)自己的意圖接收器。當(dāng)一個(gè)意圖接收器被觸發(fā)時(shí),系統(tǒng)會(huì)根據(jù)需要來(lái)啟動(dòng)應(yīng)用程序。3、服務(wù)服務(wù)是具有長(zhǎng)生命周期并且沒(méi)有用戶界面的代碼。4、內(nèi)容提供者在Android中,每個(gè)應(yīng)用程序都是有自己的及在自己的進(jìn)程中執(zhí)行。這樣做的好處是,可以保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響??梢园衙總€(gè)進(jìn)程想像成是一個(gè)黑盒子,彼此不會(huì)互相影響,連內(nèi)存的資料都無(wú)法共享。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用用內(nèi)容提供者。一個(gè)內(nèi)容提供者就是一個(gè)類,它實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的方法集合。其他的應(yīng)用程序可以使用這些方法來(lái)保存和檢索此內(nèi)容提供者處理過(guò)的數(shù)據(jù)。(四)Intent的詳細(xì)解析在一個(gè)應(yīng)用中,主要是由四種組件組成的,這四種組件可參考上一節(jié)的內(nèi)容。而這四種組件是獨(dú)立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個(gè)真正的應(yīng)用在這些組件之間的通訊中,主要是由意圖協(xié)助完成的。意圖負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作對(duì)應(yīng)的數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android則根據(jù)此意圖的描述負(fù)責(zé)找到相應(yīng)的組件將意圖傳遞給它并完成組件的調(diào)用。因此,意圖在這里起著一個(gè)媒體中介的作用,專門提供組件之間互相調(diào)用的相關(guān)信息,實(shí)現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。例如,在一個(gè)聯(lián)系人維護(hù)的應(yīng)用中,當(dāng)在一個(gè)聯(lián)系人列表屏幕(設(shè)對(duì)應(yīng)的Activity上,點(diǎn)擊某個(gè)聯(lián)系人后,希望能夠調(diào)出此聯(lián)系人的詳14

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)細(xì)信息,為了實(shí)現(xiàn)這個(gè)目的,listActivity需要構(gòu)造一個(gè)Intent,這個(gè)用于告訴系統(tǒng),要做“查看”動(dòng)作,此動(dòng)作對(duì)應(yīng)的查看對(duì)象是“某聯(lián)系人”,然后調(diào)用startActivity(intentintent),將構(gòu)造的Intent傳入,系統(tǒng)會(huì)根據(jù)此intent中的描述AndroidManifest.xml找到滿足Intent要求Activity。的Activity為detailActivity入,detailActivitv則會(huì)根據(jù)此Intent中的描述,執(zhí)行相應(yīng)的操作。1、Intent的抽象描述在考文檔中,對(duì)意圖的定義是執(zhí)行某操作的一個(gè)抽象描述。該抽象描述的具體內(nèi)容如下:首先,它是要執(zhí)行的動(dòng)作的一個(gè)簡(jiǎn)要描述,如查看、修改等定義了一套標(biāo)準(zhǔn)動(dòng)作。此外,還可以根據(jù)應(yīng)用的需要,定義自己的動(dòng)作,并可定義相應(yīng)的活動(dòng)來(lái)處理自定義的動(dòng)作。其次是執(zhí)行動(dòng)作要操作的數(shù)據(jù)Android采用指向數(shù)據(jù)的一個(gè)URI方式來(lái)實(shí)現(xiàn)。另外,除了動(dòng)作和數(shù)據(jù)這兩個(gè)重要屬性外,還有一些附加屬性類別:被執(zhí)行動(dòng)作的附加信息如LAUNCHER_CATEGORY示意圖的接受者應(yīng)該在中作為頂級(jí)應(yīng)用出現(xiàn);而表示當(dāng)前的意圖是一系列的可選動(dòng)作中的一個(gè),這些動(dòng)作可以在同一個(gè)數(shù)據(jù)上執(zhí)行。數(shù)據(jù)類型:顯式指定意圖的數(shù)據(jù)類型般意圖的數(shù)據(jù)類型能夠根據(jù)數(shù)據(jù)本身進(jìn)行判定,但是通過(guò)設(shè)置這個(gè)屬性,可以強(qiáng)制采用指定的類型。組件:指定意圖的目標(biāo)組件的類名稱常會(huì)根據(jù)意圖中包含的其它屬性的信息,比如動(dòng)作、數(shù)/數(shù)據(jù)類型、類別進(jìn)行查找,最終找到一個(gè)與之匹配的目標(biāo)組件。附加信息:是其它所有附加信息的集合用附加信息可以為組件提供擴(kuò)展信息,比如,如果要執(zhí)行“發(fā)送電子郵件”這個(gè)動(dòng)作,可以將電子郵件的標(biāo)題、正文等保存在附加信息里,傳給電子郵件發(fā)送組件??傊?,動(dòng)作、數(shù)據(jù)數(shù)據(jù)類型、類別和附加信息一起形成了一種語(yǔ)言。這種語(yǔ)言使系統(tǒng)能夠理解諸如“查看某聯(lián)系人的詳細(xì)信息”之類的短語(yǔ)。隨著應(yīng)用不斷的加入到系統(tǒng)中,它們可以添加新的動(dòng)作、數(shù)/數(shù)據(jù)類型和類別來(lái)擴(kuò)展這種語(yǔ)言。應(yīng)用也可以提供自己的活動(dòng)來(lái)處理已經(jīng)存在的這樣的“短語(yǔ)”,從而改變這些“短語(yǔ)”的行為。15

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)2、Android中Intent的使用在應(yīng)用中,可以以兩種形式來(lái)使用Intent:(l)直接意圖:指定了組件屬性的意圖。通過(guò)指定具體的組件類,通知應(yīng)用啟動(dòng)對(duì)應(yīng)的組件。(2)間接意圖:沒(méi)有指定組件屬性的意圖。這些意圖需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此意圖的組件。對(duì)于直接意圖,Android不需要去做解析,因?yàn)槟繕?biāo)組件已經(jīng)很明確Android需要解析的是那些間接意圖,通過(guò)解析,將意圖映射給可以處理此意圖的活動(dòng)、意圖接收器或服務(wù)。意圖解析機(jī)制主要是通過(guò)查找己注冊(cè)在的所有意圖過(guò)濾器及其中定義的意圖,最終找到匹配的意圖。在這個(gè)解析過(guò)程中,Android是通過(guò)意圖的動(dòng)作、數(shù)據(jù)類型、類別這三個(gè)屬性來(lái)進(jìn)行判斷的,判斷方法如下如果意圖指明定了動(dòng)作,則目標(biāo)組件的意圖過(guò)濾器的動(dòng)作列表中就必須包含有這個(gè)動(dòng)作,否則不能匹配。如果意圖沒(méi)有提供數(shù)據(jù)類型,系統(tǒng)將從數(shù)據(jù)中得到數(shù)據(jù)類型。和動(dòng)作一樣,目標(biāo)組件的數(shù)據(jù)類型列表中必須包含意圖的數(shù)據(jù)類型,否則不能匹配。如果意圖中的數(shù)據(jù)不是類型的,而且意圖也沒(méi)有明確指定它的數(shù)據(jù)類型,將根據(jù)意圖中數(shù)據(jù)的格式(比如或者mailto:)進(jìn)行匹配。同上,意圖的格式必須出現(xiàn)在目標(biāo)組件的格式列表中。如果意圖指定了一個(gè)或多個(gè)類別,這些類別必須全部出現(xiàn)在組建的類別列表中。比如意圖中包含了兩個(gè)類別:LAUNCHER_CATEGORY和ALTERNATIVEC_CATEGORY解析得到的目標(biāo)組件必須至少包含這兩個(gè)類別。(五)Android活動(dòng)的生命周期Android平臺(tái)是個(gè)手機(jī)作業(yè)系統(tǒng)撇掉其他功能不談手機(jī)的特性就是應(yīng)該能隨時(shí)在未完成目前動(dòng)作的時(shí)候,暫停正在使用的功能,切換到接電話、接收短信模式,而且在接完電話回到應(yīng)用程序時(shí),還希望能看到一樣的內(nèi)容?,F(xiàn)在用戶使用智能手機(jī)大多已習(xí)慣使用多工的作業(yè)系統(tǒng)(如windowsMobile)以在用手機(jī)聽音樂(lè)的同時(shí),執(zhí)行其他多個(gè)程序。同時(shí)執(zhí)行多個(gè)程序有它的明顯好處,但也有它的缺點(diǎn)。每多執(zhí)行一個(gè)應(yīng)用程序,就會(huì)多耗費(fèi)一些系統(tǒng)內(nèi)存,而手機(jī)里的內(nèi)存是相當(dāng)有限的。當(dāng)同時(shí)執(zhí)行的程序過(guò)多,或是關(guān)閉的程序沒(méi)有正確釋放掉內(nèi)存,16

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)系統(tǒng)運(yùn)行時(shí)就會(huì)覺(jué)得越來(lái)越慢甚至不穩(wěn)定為了解決這個(gè)問(wèn)題Android引入了一個(gè)新的機(jī)制—生命周期。Android應(yīng)用程序的生命周期是由Android架進(jìn)行管理是由應(yīng)用程序直接控制。通常,每一個(gè)應(yīng)用程(入口一般會(huì)是一個(gè)活動(dòng)的onCreate方法),都會(huì)占據(jù)一個(gè)進(jìn)程。當(dāng)系統(tǒng)內(nèi)存即將不足的時(shí)候,會(huì)依照優(yōu)先級(jí)自動(dòng)進(jìn)行進(jìn)程的回收。不管是使用者或開發(fā)者,都無(wú)法確定應(yīng)用程序何時(shí)會(huì)被回收。關(guān)于進(jìn)程的生命周期將在下一節(jié)中介紹,本節(jié)主要介紹活動(dòng)的生命周期。一個(gè)活動(dòng)類別除了OnCreate方法之外,還預(yù)先定義了onPause(暫)、OnResume(繼續(xù))等的基本方法,當(dāng)從一個(gè)活動(dòng)切換到另一個(gè)活動(dòng)的時(shí)候,原來(lái)的活動(dòng)將經(jīng)過(guò)一連串的狀態(tài)改變。開發(fā)者可以在程序中添加一些各狀態(tài)相對(duì)應(yīng)的流程,每次活動(dòng)狀態(tài)改變時(shí),就會(huì)執(zhí)行相對(duì)應(yīng)的流程。要讓用戶有好的使用體驗(yàn),活動(dòng)需要在各個(gè)周期中負(fù)責(zé)保管狀態(tài)、恢復(fù)狀態(tài)、傳送資料等工作。1、活動(dòng)的生命狀態(tài)Android的虛擬機(jī)是使用堆棧管理。主要有四種狀態(tài):(l)活動(dòng)狀態(tài)活動(dòng)狀態(tài)是指用戶啟動(dòng)應(yīng)用程序或活動(dòng)后,活動(dòng)運(yùn)行中的狀態(tài)。在Android平臺(tái)上,同一個(gè)時(shí)刻只會(huì)有一個(gè)活動(dòng)處于活動(dòng)或運(yùn)行狀態(tài)。其他的活動(dòng)都處于未啟動(dòng)、停止或是暫停的狀態(tài)。(2)暫停狀態(tài)暫停狀態(tài)是指當(dāng)活動(dòng)暫時(shí)暗下來(lái),退到背景畫面的狀態(tài)。當(dāng)警告對(duì)話框或電話來(lái)了時(shí),都會(huì)讓原來(lái)運(yùn)行的活動(dòng)退到背景畫面。新出現(xiàn)的警告對(duì)話框等界面元件蓋住了原來(lái)的活動(dòng)畫面?;顒?dòng)處在暫停狀態(tài)時(shí),用戶無(wú)法與原活動(dòng)互動(dòng)。(3)停止?fàn)顟B(tài)停止?fàn)顟B(tài)是指有其他活動(dòng)正在執(zhí)行,而這個(gè)活動(dòng)己經(jīng)離開屏幕,不再動(dòng)作的狀態(tài)。通過(guò)按返回鍵,可以調(diào)出所有處于停止?fàn)顟B(tài)的應(yīng)用程序列表。處于停止?fàn)顟B(tài)的活動(dòng),還可以通過(guò)通知來(lái)喚醒。(4)已回收或未啟動(dòng)狀態(tài)已回收或未啟動(dòng)狀態(tài)是指活動(dòng)尚未被啟動(dòng)、已經(jīng)被手動(dòng)終止或己經(jīng)被系統(tǒng)回收的狀態(tài)要手動(dòng)終止活動(dòng)以在程序中調(diào)用方法如果是被系統(tǒng)回收,可能是因?yàn)閮?nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時(shí)的回收規(guī)則,將處于停止?fàn)顟B(tài)的活動(dòng)所占用的內(nèi)存回收。17

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)Adroid活動(dòng)聲明周期如圖3-2:圖3-2Android活動(dòng)生命周期圖3-2所示的七個(gè)狀態(tài)又可以歸納成三組:(l)資源分配(創(chuàng)建/銷毀)完整的活動(dòng)生命周期由創(chuàng)建狀態(tài)開始,由銷毀狀態(tài)結(jié)束。創(chuàng)建時(shí)分配資源,銷毀時(shí)釋放資源。(2)可見(jiàn)與不可見(jiàn)(啟動(dòng)/重新啟動(dòng)/停止)當(dāng)活動(dòng)運(yùn)行到啟動(dòng)狀態(tài)時(shí),就可以在屏幕上看到這個(gè)活動(dòng)。相反地,當(dāng)活動(dòng)運(yùn)行到停止?fàn)顟B(tài)時(shí),這個(gè)活動(dòng)就會(huì)從屏幕上消失。當(dāng)用戶按下返回鍵回到上一個(gè)活動(dòng)時(shí),會(huì)先到重新啟動(dòng)狀態(tài),再到一般的啟動(dòng)狀態(tài)。(3)用戶取得屏幕的控制權(quán)(繼續(xù)/暫停)當(dāng)有個(gè)警告對(duì)話框、短信、電話等信息進(jìn)入時(shí),原來(lái)的活動(dòng)會(huì)進(jìn)入暫停狀態(tài),暫時(shí)放棄屏幕的控制權(quán),被中斷到背景去,將前景交給優(yōu)先級(jí)高的事件。當(dāng)這些優(yōu)先級(jí)高的事件處理完后,活動(dòng)就改進(jìn)入繼續(xù)狀態(tài),此時(shí)又取得屏幕的控制權(quán)。18

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)2、活動(dòng)的運(yùn)作流程由實(shí)際運(yùn)行來(lái)看我們可以歸納出所有Android應(yīng)用程序都遵循的運(yùn)作流程:(l)一般啟動(dòng)啟動(dòng)一個(gè)活動(dòng)的基本流程為onCreate>onstart>onResume。該流程首先分配資源給這個(gè)活動(dòng)(創(chuàng)建狀態(tài))然后將活動(dòng)的內(nèi)容顯示到屏幕上(啟動(dòng)狀態(tài));在一切就緒后,取得屏幕的控制權(quán)(恢復(fù)狀態(tài)),用戶可以開始使用這個(gè)程序。(2)調(diào)用另一個(gè)活動(dòng)調(diào)用另一個(gè)活動(dòng)的基本流程為onpause(l)>onCreate(2)>onstart(2)一>0nResume(2)一>onStop(l)。該流程首先凍結(jié)原來(lái)的活動(dòng),再交出屏幕控制直到活動(dòng)2完成一般啟動(dòng)流程后,活動(dòng)1會(huì)被停止。(3)回到原來(lái)活動(dòng)回到原來(lái)活動(dòng)的基本流程為onPause(2)>onRestart(1)>onstart(l)一>onResume(1)一>onstop(2)一>onDestroy(2)另外按返回鍵也可以回到原來(lái)的活動(dòng)。(4)退出結(jié)束退出結(jié)束的基本流程為onPause一>onStop>onDestroy程序中有直接調(diào)用finish方法來(lái)關(guān)閉活動(dòng)的話,系統(tǒng)會(huì)跳過(guò)先凍結(jié)的階段,直接暫停,停止,然后銷毀。(5)回收后再啟動(dòng)回收后再啟動(dòng)的基本流程為oncreate>onstart>onresume。如果被回收掉的活動(dòng)一旦又重新被調(diào)用時(shí)一般啟動(dòng)一樣再次調(diào)用活動(dòng)onCreate方法。當(dāng)在模擬器上已經(jīng)執(zhí)行過(guò)多個(gè)應(yīng)用程序,只要按下返回鍵,就會(huì)開啟最近一次開啟過(guò)的活動(dòng)。所以如果要讓再次被創(chuàng)建的活動(dòng)跟原來(lái)開啟過(guò)的一樣,那么在活動(dòng)之間切換時(shí)就要保存資料即在每次活動(dòng)運(yùn)行到暫停或停止?fàn)顟B(tài)時(shí)先保存資料,然后在創(chuàng)建時(shí)將資料讀出來(lái)。19

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)四、系統(tǒng)計(jì)與實(shí)現(xiàn)(一)游戲的策劃游戲的策劃主要包括游戲的情節(jié)、目標(biāo)受眾、運(yùn)行的目標(biāo)平臺(tái)、采用的呈現(xiàn)技術(shù)、操作方式等幾個(gè)方面面就針對(duì)本游戲?qū)ι鲜鰩讉€(gè)方面進(jìn)行簡(jiǎn)單的介紹,如下所列。游戲情節(jié),本游戲?yàn)檩p量級(jí)的益智游戲,因此不存在很復(fù)雜的情節(jié)。這方面主要要做的工作主要為設(shè)計(jì)游戲形狀、大小、可通過(guò)區(qū)域。目標(biāo)受眾,這個(gè)游戲受眾面比較廣,應(yīng)該是老少皆宜的??紤]到受眾面廣的原因,應(yīng)該將操作方式設(shè)計(jì)得更加人性化,畫面更加清新。運(yùn)行的目標(biāo)平臺(tái),本游戲的目標(biāo)平臺(tái)為。操作方式,本游戲擬采用手機(jī)觸屏進(jìn)行操作,對(duì)于沒(méi)有鍵盤的型號(hào)也可以考慮采用虛擬鍵盤。由于該游戲使用Eclipse作為主要的開發(fā)工具,所以在開發(fā)之前需要檢查Eclipse是否已經(jīng)配置好。(二)游戲基本功能描述掃雷是一款益智游戲,其設(shè)計(jì)目的是訓(xùn)練人的邏輯思維能力。排除地雷疑似所在的位置,直到所有的雷掃除成功。該游戲則勝利。該游戲的功能流程圖如圖4-1所示:20

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)圖4-1功能流程具體的功能如下:1、開始游戲,點(diǎn)擊此圖標(biāo)開始游戲。2、游戲判定,當(dāng)游戲輸時(shí),踩雷顯示為。當(dāng)游戲勝利時(shí),所有的雷顯示為F。3、時(shí)間提示,提示游戲用時(shí)多長(zhǎng)時(shí)間。4、退出游戲,點(diǎn)擊此圖標(biāo)退出游戲。(三)系統(tǒng)詳細(xì)設(shè)計(jì)1、系統(tǒng)圖標(biāo)設(shè)計(jì)(1)、文字說(shuō)明(2)、截圖2、系統(tǒng)運(yùn)行詳情掃雷游戲通過(guò)虛擬機(jī)運(yùn)行,點(diǎn)擊掃雷圖標(biāo)后,進(jìn)入系統(tǒng)圖標(biāo),如圖所示:21

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)圖:4-3虛擬機(jī)進(jìn)入界面點(diǎn)擊上述圖所顯示的掃雷圖標(biāo)后進(jìn)入游戲界面進(jìn)入游戲界面里以后會(huì)出現(xiàn)字符提示,提示點(diǎn)擊笑臉圖標(biāo)可開始游戲,如圖所示:圖:4-4進(jìn)入游戲提示界面22

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)點(diǎn)擊笑臉圖標(biāo)后,進(jìn)入游戲開始界面,可以開始游戲,如圖所示:圖:4-5進(jìn)入游戲開始界面23

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)圖:4.3-6游戲判定失敗的界面24

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)五、結(jié)論本文著重介紹了一個(gè)基于Android的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn),并且最終成功在Android模擬器上模擬出了正確的成果。至此,本次我的畢業(yè)設(shè)計(jì)工作即將完成。在本次畢業(yè)設(shè)計(jì)之前我對(duì)Android的了解不是太深,對(duì)eclipse的操作系統(tǒng)也很不熟悉,使得我在畢業(yè)設(shè)計(jì)在開始階段十分的困難。在花了大量的時(shí)間查閱資源,并且在不斷的努力實(shí)驗(yàn)下順利搭建好開發(fā)環(huán)境后,我又發(fā)現(xiàn)我對(duì)的開發(fā)語(yǔ)言極其陌生,對(duì)于畢業(yè)設(shè)計(jì)的工作一度感到力不從心,不過(guò)終于借助Android相關(guān)書籍、論文大量的既有資源和源代碼的閱讀,并且在老師的耐心指導(dǎo)和幫助下完成了此次的畢業(yè)設(shè)計(jì)。盡管本次畢業(yè)設(shè)計(jì)的掃雷游戲已經(jīng)基本開發(fā)完成,但因?yàn)槭褂胑clipse來(lái)設(shè)計(jì)基于的游戲平時(shí)很少接觸,使得游戲中還存在許多的不足,例如游戲中沒(méi)有添加對(duì)音效、游戲不能選擇難度和不能再游戲中直接退出游戲,由于時(shí)間和本人能力的關(guān)系,只能在日后再進(jìn)行完善了。我相信通過(guò)我的努力和不斷研究一定會(huì)做出更好的成績(jī)。25

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)致謝值此論文完成之際,衷心感謝我的指導(dǎo)老XX老師,在畢業(yè)設(shè)計(jì)的過(guò)程中給予我悉心的指導(dǎo)和幫助,她對(duì)待學(xué)識(shí)的嚴(yán)謹(jǐn)態(tài)度和作風(fēng)讓我感觸頗深。感謝地質(zhì)大的老師們幫助我們學(xué)習(xí)知識(shí),操心我們的考試、學(xué)習(xí)、作業(yè)等。感謝陪我一起度過(guò)兩個(gè)半春秋的本科學(xué)員們,和我一起度過(guò)了難忘的學(xué)習(xí)時(shí)光。感謝我的爸爸媽媽,將我培養(yǎng)成人,教育我,幫助我。最后,對(duì)審批此論文的老師表示深深地謝意。26

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)參考文獻(xiàn)[1]李華明,Android游戲編程之從零開始,北京清華大學(xué)出版社,2011.[2]李剛,瘋狂Android講義,北京電子工業(yè)出版社,[3]楊豐盛,Android技術(shù)內(nèi)幕:系統(tǒng)卷,北京機(jī)械工業(yè)出版社,2011[4]梅爾(RetoMeier)、王超,Android2高級(jí)編程(第2版),北京清華大學(xué)出版社[5]李佐彬等.Android開發(fā)入門與實(shí)戰(zhàn)體驗(yàn)北京機(jī)械工業(yè)出版社[6]韓超、梁泉.Android系統(tǒng)原理及開發(fā)要點(diǎn)詳解北京

電子工業(yè)出版社[7]趙毅主編,跨平臺(tái)程序設(shè)計(jì)語(yǔ)言——Java西安電子科技大學(xué)出版社,2006[8]孫衛(wèi)琴與JavaWeb開發(fā)技術(shù)詳解子工業(yè)出版社,200901月2版27

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)請(qǐng)刪除以內(nèi)容O(_∩)O謝謝ThetaxationtheUnitedtracedthewhencolonistsheavilybyeverythingfromtobusinessdocumentsbytheStampTax.Thedisdainthistaxationwithout(so-calledbecausethehadvoiceintheofgaveriseastheTeaevenRevolutionaryandadoptionofConstitution,sourcerevenuenewlystatesmoneytaxesonsuchsugar,snuff.taxappearedintheUnited1862,AtonlyonepercentofthewasrequiredpayAincomein1867.Theincometaxrepealeditsentiretyin1872.IncometaxarallyingpointfortheinandhadenoughtwoyearslaterthatCongresstheIncomeTaxActof1894.Thewaspercentincomesinexcessofwhichthatitreachedofthestruckdownthetax,holdingthatitviolated

constitutionalthatdirecttaxesapportionedpopulation(pollockv.loan&158U.S.15Ct.39L.Ed.[1895]).compromise,sixteenthtoConstitutionratifiedinCongresspowerlaytaxesonwithoutTheofthetaxwereandrevenue.Since1913incometaxbecomecomplex.In1913incometaxcontainedeighteenlegislation;explanationreformact1986wasmorethanhundred(Pub.L.Oct.1986,1002085).Clearingaoftaxinformation,aversionofInternalRevenueCodeinthe1990swasthickerits1953.reflecttimes.taxofwaswithtax.AfterUnitedStatesenteredwari,theWarRevenueActofimposedrateforindividualsofcomparedwitharate13percentin1916.InofAndrewMellon,aboutthestated,isafailure.Itwasanadoptedthepressureofwarandnotapermanentpartofourstructure….Thehighratesputpressureontaxpayerstoreducetheirtaxableincome,tendtodestroyindividualinitiativeenterprise,andseriouslyimpedethedevelopmentofproductivebusiness….Wayswillalwaysfoundavoidintheirnature,andthewaythesituationtoputtaxesonreasonablebasisthatwillbusinessgoonandRevenue1924individualtax43Acts,June2,1924,43Stat.253).Intheto25RevenueActof1932taxlawpassedduringGreatDepression(RevenueJune1932,ch.209,47Stat.Itincreasedthetopercent,reducedexemptionsfrom$1,500topersons,$3,500marriedThe

nationalindustrialrecoveryact1933partfranklind.roosevelt'snewdeal,afive

percentexciseonreceipts,astockanexcessand

deductionslosses(June1933,90,48Stat.Therepealin1933ofwhichhad

prohibitedthesaleofalcohol,innewtaxesin1934.Thesecurityact1935tax,28

中國(guó)地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)halftobepaidemployeeandbytoestablishafederal(OldAgeAct,1935,ch.531,49Stat.620).TheWealthTaxAct,knownthe1935,increasedrateto79the19401941it81RevenueActof1942it88andtheActoftheindividualmaximum94Thepost-WorldWarIIActofreducedtheindividual91TheAct1950,war,itto84.4butitwasthe92Act1950,1950,Stat.906).Itatthisleveluntil1964,whenitwasreducedtoRevenueActoftheInternal1939,makingmajorweretheincludingtotheacreditagainsttaxableemployeedeductionsbusinessexpenses,anddepreciationFrom1954totheInternalRevenueCodewasamendedby183separateacts.In1974theemployeeincomeact(ERISA)createdprotectionsforpromisedretirementcontributions(Pub.No.93-406,2,1974,829).ERISAthattheemployer'splanmeetstandardsasemployeevestingemployerfunding.ERISAalsoapprovedretirementaccounts(IRAs)toretirementindividuals.TaxAct1981(ERTA)provideduptime,reducingthemaximumindividualratefrom50(Pub.No.97-34,1981,95Stat.172).ThewariiwereintheTaxActof1986.ThisbillwasintolawPresidentronaldreaganandwasdesignedthetaxvariouseliminatetaxshelters,rates.wantedtoalowtaxratethatcouldappliedeveryone.ratewasincludedinfinalbill,werereduced15onthefirst$17,850ofincomeand$29,750formarried2833onremainingincome.Manyasdeductionavailabletomarriedbeenusedtoavoidpenalty"(agreaterincurredtwopersonsfiledtheirincometaxreturnasmarriedcouplethanindividuals).theexemptionexclusionwasanexemptionforelderlyblindpersonsitemizededuction

溫馨提示

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

評(píng)論

0/150

提交評(píng)論