已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
遠(yuǎn)程與繼續(xù)教育學(xué)院本科畢業(yè)論文(設(shè)計(jì))題目基于ANDROID掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn)學(xué)習(xí)中心XXXXXXXXXXXX學(xué)號XXXXXXXXXXXX姓名XXX專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師XXXX2015年8月14日中國地質(zhì)大學(xué)(武漢)遠(yuǎn)程與繼續(xù)教育學(xué)院摘要隨著技術(shù)通信不斷進(jìn)步,移動通信終端設(shè)備的功能也在不斷地增長,朝著智能化的方向發(fā)展。手機(jī)已經(jīng)不再是個(gè)單一的通信設(shè)備,而是逐漸融合了個(gè)人信息管理,無線上網(wǎng),移動辦公,影音娛樂等功能,成為筆記本電腦之外的另一種更便攜,更易用的辦公平臺。因此,手機(jī)的娛樂應(yīng)用服務(wù)將會有很大的發(fā)展空間,游戲也是其中之一。本系統(tǒng)主要是實(shí)現(xiàn)基于ANDROID平臺的掃雷游戲,掃雷是一款古老的益智游戲,其設(shè)計(jì)目的是訓(xùn)練人的邏輯思維能力。本文首先論述了ANDROID系統(tǒng)的背景和研究現(xiàn)狀,接著簡要的介紹了ANDROID的技術(shù)及對ANDROID分析,并且介紹了ANDROID應(yīng)用程序的結(jié)構(gòu)。在程序開發(fā)中,采用了先設(shè)計(jì)好游戲的類框架,然后按照各個(gè)類的實(shí)現(xiàn)進(jìn)行代碼的編寫與實(shí)現(xiàn)功能。關(guān)鍵詞1、智能化2、ANDROID3、掃雷目錄一、緒論7(一)ANDROID概述7(二)系統(tǒng)開發(fā)背景7二、系統(tǒng)技術(shù)分析9(一)ECLIPSE集成開發(fā)環(huán)境9(二)JDK11(三)ANDROIDSDK12(四)ADT12三、ANDROID應(yīng)用程序結(jié)構(gòu)剖析14(一)ANDROID系統(tǒng)架構(gòu)研究14(二)ANDROID的API14(三)ANDROID應(yīng)用程序結(jié)構(gòu)解析15(四)INTENT的詳細(xì)解析17(五)ANDROID活動的生命周期19四、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)23(一)游戲的策劃23(二)游戲基本功能描述23(三)系統(tǒng)詳細(xì)設(shè)計(jì)24五、結(jié)論28致謝29參考文獻(xiàn)30一、緒論(一)ANDROID概述智能手機(jī)SMARTPHONE,具有獨(dú)立的操作系統(tǒng),像個(gè)人電腦一樣支持用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,并通過此類程序不斷對手機(jī)的功能進(jìn)行擴(kuò)充,同時(shí)可通過移動通訊網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入。目前,全球多數(shù)手機(jī)廠商都有智能手機(jī)產(chǎn)品,而芬蘭諾基亞、美國蘋果、加拿大RIM(黑莓)、美國摩托羅拉、中國臺灣宏達(dá)(HTC)更是智能機(jī)中的佼佼者。智能手機(jī)具有五大特點(diǎn)1具備了無線接入互聯(lián)網(wǎng)的能力,即要有GSM的支持網(wǎng)絡(luò)下的GPRS或者是CDMA網(wǎng)絡(luò)支持下的CDMA1X或3G網(wǎng)絡(luò)。2人性化,可以根據(jù)個(gè)人需要擴(kuò)展機(jī)器的功能。3它是具有開放性的操作系統(tǒng),還可以安裝非常多的應(yīng)用程序,使得智能手機(jī)的功能可以得到無限的擴(kuò)展。4具有PDA功能,其中包括個(gè)人信息管理、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁。5強(qiáng)大的功能,擴(kuò)展性能強(qiáng),第三方軟件支持多。在二零零五年七月,GOOGLE收購了ANDROID,這么一個(gè)小規(guī)模收購行動還是立刻引起了移動業(yè)界的興趣,它們懷疑這是GOOGLE進(jìn)入移動市場的的標(biāo)志。盡管如此,這個(gè)當(dāng)時(shí)只是一個(gè)小規(guī)模的移動軟件開發(fā)公司正是由ANDYRUBIN、RICHMINER、NICKSEARS以及CHRISWHITE四個(gè)人共同創(chuàng)建的?,F(xiàn)在看來,他們的懷疑是正確的。差不多兩年半以后,在二零零七年十一月五日,GOOGLE發(fā)布了ANDROID,它這個(gè)的發(fā)布給移動業(yè)界帶來了一場可怕的風(fēng)暴,基于LINUX的全新移動操作系統(tǒng)。這不單單是一個(gè)全新的移動系統(tǒng),非常重要的是它是開源的。從ANDROID的發(fā)展旅途中,我們看到2003年ANDY他是一個(gè)有遠(yuǎn)見的人,看到了2005年的起步和被GOOGLE的收購,也看到了系統(tǒng)的進(jìn)步以及新的機(jī)型的快速發(fā)布。所有這一切都讓我們相信,ANDROID將會走向世界第一移動操作系統(tǒng)寶座的步伐是勢不可擋的。ANDROID平板電腦也在今年的夏天開始發(fā)布以及GOOGLETV發(fā)布以后也許還有GOOGLEMUSIC,ANDROID可能真的會將繼續(xù)帶著我們走向移動設(shè)備夢想的彼岸。(二)系統(tǒng)開發(fā)背景在我們的生活中有許多的游戲,但是游戲不同,它也會給玩家?guī)聿煌母惺芎蜕罾砟?。游戲是我們?nèi)粘I畹囊粋€(gè)必不可少的娛樂項(xiàng)目,也帶動了游戲相關(guān)產(chǎn)業(yè)市場的發(fā)展。游戲平臺是經(jīng)過從游戲機(jī)到電視游戲,然后從到PC游戲,到手機(jī)游戲,中間經(jīng)歷了很多的技術(shù)的更新和變革。但隨著新技術(shù)的發(fā)展和我們生活水平質(zhì)量的提高,手機(jī)開始逐漸變?yōu)槠占?,因?yàn)槭謾C(jī)是非常小巧便捷的,而且方便的特性成為我們?nèi)粘I钪斜貍渫ㄓ嵐ぞ?。而基于手機(jī)平臺的游戲也就擁有的市場空間是巨大的,也因隨著3G的開通和應(yīng)用,手機(jī)游戲必然會迎來新的一輪游戲熱潮掃雷最原始的版本可以追溯到1973年一款名為“方塊”的游戲。久之后,“方塊”被改寫成了游戲“RLOGIC”。在“RLOGIC”里,玩家的任務(wù)是作為美國海軍陸戰(zhàn)隊(duì)隊(duì)員,為指揮中心探出一條沒有地雷的安全路線,如果路全被地雷堵死就算輸。兩年后,湯姆安德森在“RLOGIC”的基礎(chǔ)上又編寫出了游戲“地雷”,由此奠定了現(xiàn)代掃雷游戲的雛形。1981年,微軟公司的羅伯特杜爾和卡特約翰遜兩位工程師在WINDOWS31系統(tǒng)上加載了該游戲,掃雷游戲才正式在全世界推廣開來。這款游戲的玩法是在一個(gè)99初級,1616中級,1630高級,或自定義大小的方塊矩陣中隨機(jī)布置一定量的地雷初級為10個(gè),中級為40個(gè),高級為99個(gè)。由玩家逐個(gè)翻開方塊,以找出所有地雷為最終游戲目標(biāo)。如果玩家翻開的方塊有地雷,則游戲結(jié)束。掃雷游戲的目標(biāo)是盡快找到雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。點(diǎn)開的數(shù)字是幾,則說明該數(shù)字旁邊的8個(gè)位置中有幾個(gè)雷,如果挖開的是地雷,則會輸?shù)粲螒?。掃雷游戲是一款益智類游戲,目前基于ANDROID平臺的掃雷游戲還比較少,本系統(tǒng)的開發(fā)主要面向ANDROID平臺,以滿足廣大手機(jī)用戶的需要。二、系統(tǒng)技術(shù)分析(一)ECLIPSE集成開發(fā)環(huán)境ECLIPSE是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來JAVA語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C和PYTHON的開發(fā)工具。下圖21是進(jìn)入ECLIPSE里的界面圖21進(jìn)入ECLIPSE里的編輯界面ECLIPSE的本身只是一個(gè)框架平臺,但是眾多插件的支持使得ECLIPSE擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以ECLIPSE為框架開發(fā)自己的IDE。ECLIPSE最初是由IBM公司開發(fā)的替代商業(yè)軟件VISUALAGEFORJAVA的下一代IDE開發(fā)環(huán)境,2001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟ECLIPSE基金會(ECLIPSEFOUNDATION)管理。2003年,ECLIPSE30選擇OSGI服務(wù)平臺規(guī)范為運(yùn)行時(shí)架構(gòu)。2007年6月,穩(wěn)定版33發(fā)布。2008年6月發(fā)布代號為GANYMEDE的34版。ECLIPSE的基礎(chǔ)是富客戶機(jī)平臺(RICHCLIENTPLATFORM,即RCP)。RCP包括下列組件核心平臺啟動ECLIPSE,運(yùn)行插件)OSGI(標(biāo)準(zhǔn)集束框架)SWT(可移植構(gòu)件工具包)JFACE(文件緩沖,文本處理,文本編輯器)ECLIPSE工作臺(即WORKBENCH,包含視圖(VIEWS)、編輯器(EDITORS)、視角(PERSPECTIVES)、和向?qū)В╓IZARDS)ECLIPSE采用的技術(shù)是IBM公司開發(fā)的(SWT),這是一種基于JAVA的窗口組件,類似JAVA本身提供的AWT和SWING窗口組件;不過IBM聲稱SWT比其他JAVA窗口組件更有效率。ECLIPSE的用戶界面還使用了GUI中間層JFACE,從而簡化了基于SWT的應(yīng)用程序的構(gòu)建。ECLIPSE的插件機(jī)制是輕型軟件組件化架構(gòu)。在富客戶機(jī)平臺上,ECLIPSE使用插件來提供所有的附加功能,例如支持JAVA以外的其他語言。已有的分離的插件已經(jīng)能夠支持C/C(CDT)、PERL、RUBY,PYTHON、TELNET和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語言。ECLIPSE的設(shè)計(jì)思想是一切皆插件。ECLIPSE核心很小,其它所有功能都以插件的形式附加于ECLIPSE核心之上。ECLIPSE基本內(nèi)核包括圖形APISWT/JFACE,JAVA開發(fā)環(huán)境插件JDT,插件開發(fā)環(huán)境PDE等。ECLIPSE由各種不同的計(jì)劃組成。以下列出了部分計(jì)劃。ECLIPSE計(jì)劃本身包括ECLIPSE平臺,ECLIPSE富客戶端平臺(RCP)和JAVA開發(fā)工具(JDT)。ECLIPSE測試和性能工具平臺(TPTP)提供一個(gè)允許軟件開發(fā)者構(gòu)建諸如測試調(diào)試、概況分析、基準(zhǔn)評測等測試和性能工具的平臺。ECLIPSEWEB工具平臺計(jì)劃(WTP)用JAVA企業(yè)版WEB應(yīng)用程序開發(fā)工具來擴(kuò)展ECLIPSE平臺。它由以下部分組成HTML、JAVASCRIPT、CSS、JSP、SQL、XML、DTD、XSD和WSDL的源代碼編輯器;XSD和WSDL的圖形界面編輯器;JAVA企業(yè)版的“項(xiàng)目性質(zhì)”(PROJECTNATURE)、建構(gòu)器(BUILDER)和模型(MODEL),與一個(gè)JAVA企業(yè)版的導(dǎo)航(NAVIGATOR);一個(gè)WEB服務(wù)(WEBSERVICE)向?qū)Ш蜑g覽器,還有一個(gè)WSI測試工具;最后是數(shù)據(jù)庫訪問查詢的工具與模型。ECLIPSE商業(yè)智能和報(bào)表工具計(jì)劃(BIRT)提供WEB應(yīng)用程序(特別是基于JAVA企業(yè)版的)的報(bào)表開發(fā)工具。ECLIPSE可視化界面編輯器計(jì)劃(VEP)一個(gè)ECLIPSE下創(chuàng)建圖形用戶界面代碼生成器的框架。ECLIPSE建??蚣埽‥MF)依據(jù)使用XMI描述的建模規(guī)格,生成結(jié)構(gòu)化數(shù)據(jù)模型的工具和其他應(yīng)用程序的代碼。圖形化編輯器框架(GEF)能讓開發(fā)者采用一個(gè)現(xiàn)成的應(yīng)用程序模型來輕松地創(chuàng)建富圖形化編輯器。UML2ECLIPSE平臺下的一個(gè)UML20元模型的實(shí)現(xiàn),用以支持建模工具的開發(fā)。ASPECTJ一種針對JAVA的面向側(cè)面語言擴(kuò)展。ECLIPSE通訊框架(ECF)專注于在ECLIPSE平臺上創(chuàng)建通訊應(yīng)用程序的工作。ECLIPSE數(shù)據(jù)工具平臺計(jì)劃(DTP)ECLIPSE設(shè)備驅(qū)動軟件開發(fā)計(jì)劃(DSDP)C/C開發(fā)工具計(jì)劃(CDT)努力為ECLIPSE平臺提供一個(gè)全功能C和C的集成開發(fā)環(huán)境(IDE),它使用GCC作為編譯器。ECLIPSE平臺COBOL集成開發(fā)環(huán)境子計(jì)劃(COBOL)將構(gòu)建一個(gè)ECLIPSE平臺上的全功能COBOL集成開發(fā)環(huán)境。并行工具平臺(PTP)將開發(fā)一個(gè)對并行計(jì)算機(jī)架構(gòu)下的一組工具進(jìn)行集成的平行工具平臺,而且這個(gè)平臺是可移植的,可伸縮的并基于標(biāo)準(zhǔn)的。嵌入式富客戶端平臺(ERCP)計(jì)劃將ECLIPSE富客戶端平臺擴(kuò)展到嵌入式設(shè)備上。這個(gè)平臺主要是一個(gè)富客戶端平臺(RCP)組件子集的集合。它能讓桌面環(huán)境下的應(yīng)用程序模型能夠大致同樣地能運(yùn)用在嵌入式設(shè)備上。(二)JDKJDK(JAVADEVELOPMENTKIT)是SUNMICROSYSTEMS針對JAVA開發(fā)員的產(chǎn)品。自從JAVA推出以來,JDK已經(jīng)成為使用最廣泛的JAVASDK。JDK是整個(gè)JAVA的核心,包括了JAVA運(yùn)行環(huán)境、JAVA工具和JAVA基礎(chǔ)類庫。JDK是學(xué)好JAVA的第一步。而專門運(yùn)行在X86平臺的JROCKET在服務(wù)端運(yùn)行效率也要比SUNJDK好很多。從SUN的JDK50開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。JDK包含的基本組件包括JAVAC編譯器,將源程序轉(zhuǎn)成字節(jié)碼JAR打包工具,將相關(guān)的類文件打包成一個(gè)文件JAVADOC文檔生成器,從源碼注釋中提取文檔JDBDEBUGGER,查錯(cuò)工具JAVA運(yùn)行編譯后的JAVA程序(CLASS后綴的)APPLETVIEWER小程序?yàn)g覽器,一種執(zhí)行HTML文件上的JAVA小程序的JAVA瀏覽器。JAVAH產(chǎn)生可以調(diào)用JAVA過程的C過程,或建立能被JAVA程序調(diào)用的C過程的頭文件。JAVAPJAVA反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。JCONSOLEJAVA進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具(三)ANDROIDSDKSDK(SOFTWAREDEVELOPMENTKIT)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,ANDROIDSDK指的既是ANDROID專屬的軟件開發(fā)工具包。其最震撼人心之處在于ANDROID手機(jī)系統(tǒng)的開放性和服務(wù)免費(fèi)。ANDROID是一個(gè)對第三方軟件完全開放的平臺,開發(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ù)對象(數(shù)據(jù)元素集合)數(shù)據(jù)關(guān)系(數(shù)據(jù)關(guān)系二元組結(jié)合)基本操作(操作函數(shù)的羅列)抽象數(shù)據(jù)類型(ADT)的一個(gè)實(shí)現(xiàn)包括儲存數(shù)據(jù)元素的存儲結(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é)成為可能。在面向?qū)ο缶幊陶Z言中,像C、JAVA都能較好的支持ADT,如類的機(jī)制。而在C語言中缺少了對相關(guān)方法的支持。抽象數(shù)據(jù)類型需要通過固有數(shù)據(jù)類型高級編程語言中已實(shí)現(xiàn)的數(shù)據(jù)類型來實(shí)現(xiàn)。抽象數(shù)據(jù)類型是與表示無關(guān)的數(shù)據(jù)類型,是一個(gè)數(shù)據(jù)模型及定義在該模型上的一組運(yùn)算。對一個(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ù)類型。三、ANDROID應(yīng)用程序結(jié)構(gòu)剖析(一)ANDROID系統(tǒng)架構(gòu)研究ANDROID是一個(gè)包含操作系統(tǒng)、中介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來的軟件堆棧架構(gòu)。由下而上,其核心為嵌入式LINUX26作業(yè)系統(tǒng),向上搭配GOOGLE為ANDROID開發(fā)的類庫及ANDROID運(yùn)行時(shí),再配合應(yīng)用程序架構(gòu),來開發(fā)各種不同的應(yīng)用程序。ANDROID體系結(jié)構(gòu)如下所示圖31ANDROID體系結(jié)構(gòu)(二)ANDROID的APIANDROIDAPI主要包含了以下幾個(gè)部分1ANDROIDMANIFESTXMLANDROIDMANIFESTXML是系統(tǒng)的控制文件,它告訴系統(tǒng)如何處理所創(chuàng)建的所有應(yīng)用組件尤其是活動ACTIVITY,服務(wù)SERVICE,意圖接收器INTENTRECEIVER和內(nèi)容提供者CONTENTPROVIDER。舉例來說,控制文件就是把活動和要接收的意圖INTENTS連接在一起的“膠水”。2活動活動就是一個(gè)有生命周期的對象。一個(gè)活動就是完成某些工作的代碼塊,這部分工作還可能包括對用戶UI界面的顯示。不過這不是必須的,有些活動從不顯示UI界面。3視圖視圖可以將其自身繪制到屏幕上。ANDROID的用戶界面由一系列的視圖樹構(gòu)成。接口都是由一組以樹的形式出現(xiàn)的視圖組成的。開發(fā)者可以通過創(chuàng)建一個(gè)新的視圖的方法來使用自定義的圖形處理技術(shù)比如開發(fā)游戲,或者是使用了不常用的用戶圖形窗口界面。4意圖意圖是一個(gè)簡單的消息對象,它表示程序想做某事的“意圖”。比如應(yīng)用程序想要顯示一個(gè)網(wǎng)頁,那么它可以通過創(chuàng)建一個(gè)INTENT實(shí)例并將其傳遞給系統(tǒng)來表示意圖瀏覽這個(gè)URI。系統(tǒng)將定位到能處理這一INTENT的代碼在當(dāng)前情況下就是瀏覽器,并運(yùn)行之。意圖也可以用于廣播系統(tǒng)范圍內(nèi)的有效事件例如通知事件。5服務(wù)服務(wù)是運(yùn)行在后臺的一段代碼。它可以運(yùn)行在它自己的進(jìn)程,也可以運(yùn)行在其他應(yīng)用程序的進(jìn)程里,這取決于自身的需要。其它的組件可以綁定到一個(gè)服務(wù)上來,通過遠(yuǎn)程過程調(diào)用RPC來調(diào)用這個(gè)方法。例如媒體播放器的服務(wù),當(dāng)用戶退出媒體選擇的界面時(shí),仍然希望音樂依然可以繼續(xù)播放,這時(shí)就可用服務(wù)來保證當(dāng)用戶界面關(guān)閉時(shí)音樂還繼續(xù)播放著。6通知通知將以小圖標(biāo)的形式呈現(xiàn)在狀態(tài)欄里,用戶通過與圖標(biāo)的交互來接收消息。最常見的通知包括短信息、通話記錄和語音郵件,但是應(yīng)用程序也可以創(chuàng)建它們自己的通知事件。7內(nèi)容提供者內(nèi)容提供者是用來提供對設(shè)備上數(shù)據(jù)進(jìn)行訪問。典型的例子就是使用內(nèi)容提供者來訪問聯(lián)系人列表。應(yīng)用程序也可以使用其它程序通過內(nèi)容提供者提供的數(shù)據(jù),同時(shí)也可以定義自己的內(nèi)容提供者來向其它應(yīng)用提供數(shù)據(jù)訪問服務(wù)。(三)ANDROID應(yīng)用程序結(jié)構(gòu)解析通常由以下四個(gè)組件來構(gòu)建一個(gè)完整的ANDROID應(yīng)用程序?;顒右鈭D接收器服務(wù)內(nèi)容提供者然而,并不是所有的ANDROID應(yīng)用程序都必須具備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來組建。當(dāng)決定使用以上哪些組件來構(gòu)建ANDROID應(yīng)用程序時(shí),需要將它們注冊在ANDROIDMANIFESTXML文件中,這是一個(gè)XML配置文件,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個(gè)配置文件是每個(gè)ANDROID應(yīng)用程序所必需的。1、活動活動是以上四個(gè)組件中最常用的一個(gè)。每個(gè)活動都是ACTIVITY的子類,并實(shí)現(xiàn)了一些獨(dú)有的功能,如管理UI顯示和UI的反饋事件。一個(gè)活動就相當(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è)活動。顯示一個(gè)新界面就相當(dāng)于生成一個(gè)對應(yīng)的活動對象。在一些情況下,活動能夠返回給它的上級界面一個(gè)返回值,例如一個(gè)提供給用戶選擇照片的活動可以返回給它的調(diào)用者用戶選擇了哪個(gè)照片文件。當(dāng)一個(gè)新的活動出現(xiàn)時(shí),前一個(gè)活動被中斷并被放入到一個(gè)歷史堆棧中。用戶可以使用返回鍵使前一個(gè)活動重現(xiàn)。當(dāng)一個(gè)活動不再需要時(shí),可以將它們從歷史堆棧中移除。默認(rèn)情況下,ANDROID會為每個(gè)應(yīng)用程序保留從主界面開始的歷史堆棧。ANDROID通過一個(gè)被稱作意圖的特殊類,來實(shí)現(xiàn)界面與界面之間的跳轉(zhuǎn)。一個(gè)意圖描述了一個(gè)應(yīng)用程序想要做什么。在意圖的描述結(jié)構(gòu)中,含有兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu)動作和動作對應(yīng)的數(shù)據(jù)。典型的動作類型包括MAIN、VIEW、PICK、EDIT等等,而動作對應(yīng)的數(shù)據(jù)則以URI的形式表示。例如顯示一個(gè)聯(lián)系人信息的界面,可以創(chuàng)建一個(gè)意圖,并將它的動作設(shè)置成VIEW,數(shù)據(jù)設(shè)置成表示這個(gè)人信息的URI。除此之外,還有一個(gè)被稱作意圖過濾器INTENTFIHER的相關(guān)類。當(dāng)發(fā)生一個(gè)有效的目的請求時(shí),意圖過濾器用來描述一個(gè)活動能夠處理什么意圖。如上例中所描述,想要正常顯示一個(gè)聯(lián)系人信息的界面,必須聲明一個(gè)意圖過濾器,它說明當(dāng)有聯(lián)系人數(shù)據(jù)要被在界面上顯示時(shí),知道如何處理它們。通常意圖過濾器要被注冊在ANDROIDMANIFESTXML文件中。從一個(gè)界面跳轉(zhuǎn)到另一個(gè)界面是由解析各種意圖實(shí)現(xiàn)的。例如一個(gè)活動使用STARTACTIVITYMYINTENT來調(diào)用其他活動時(shí),系統(tǒng)會查找所有已經(jīng)安裝的應(yīng)用程序的意圖過濾器,并從中挑選出能夠匹配MYINTENT意圖的活動。隨后,這個(gè)新的活動接收到意圖MYINTENT的通知并開始運(yùn)行。當(dāng)STARTACTIVITY方法被調(diào)用,解析意圖的處理過程隨之發(fā)生,這個(gè)機(jī)制有以下兩個(gè)突出的優(yōu)點(diǎn)活動可以通過一個(gè)以意圖形式產(chǎn)生的請求來重用其他組件的功能?;顒涌梢栽谌魏螘r(shí)候被一個(gè)具有等價(jià)意圖過濾器的新活動所替代。2、意圖接收器當(dāng)想要編寫代碼來對外部事件做一些處理時(shí),可以使用意圖接收器。意圖接收器并不顯示UI界面,它是通過NOTIFICATIONMANAGER來通知用戶他們感興趣的事件發(fā)生了。意圖接收器同樣可以被注冊在ANDROIDMANIFESTXML文件中,同時(shí)也可以在代碼中使用CONTEXTREGISTERRECEIVER來注冊自己的意圖接收器。當(dāng)一個(gè)意圖接收器被觸發(fā)時(shí),系統(tǒng)會根據(jù)需要來啟動應(yīng)用程序。3、服務(wù)服務(wù)是具有長生命周期并且沒有用戶界面的代碼。4、內(nèi)容提供者在ANDROID中,每個(gè)應(yīng)用程序都是有自己的USERID及在自己的進(jìn)程中執(zhí)行。這樣做的好處是,可以保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響??梢园衙總€(gè)進(jìn)程想像成是一個(gè)黑盒子,彼此不會互相影響,連內(nèi)存的資料都無法共享。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用用內(nèi)容提供者。一個(gè)內(nèi)容提供者就是一個(gè)類,它實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的方法集合。其他的應(yīng)用程序可以使用這些方法來保存和檢索此內(nèi)容提供者處理過的數(shù)據(jù)。(四)INTENT的詳細(xì)解析在一個(gè)ANDROID應(yīng)用中,主要是由四種組件組成的,這四種組件可參考上一節(jié)的內(nèi)容。而這四種組件是獨(dú)立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個(gè)真正的ANDROID應(yīng)用。在這些組件之間的通訊中,主要是由意圖協(xié)助完成的。意圖負(fù)責(zé)對應(yīng)用中一次操作的動作、動作對應(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è)對應(yīng)的ACTIVITY為LISTACTIVITY上,點(diǎn)擊某個(gè)聯(lián)系人后,希望能夠調(diào)出此聯(lián)系人的詳細(xì)信息,為了實(shí)現(xiàn)這個(gè)目的,LISTACTIVITY需要構(gòu)造一個(gè)INTENT,這個(gè)INTENT用于告訴系統(tǒng),要做“查看”動作,此動作對應(yīng)的查看對象是“某聯(lián)系人”,然后調(diào)用STARTACTIVITYINTENTINTENT,將構(gòu)造的INTENT傳入,系統(tǒng)會根據(jù)此INTENT中的描述,到ANDROIDMANIFESTXML中找到滿足此INTENT要求的ACTIVITY。系統(tǒng)會調(diào)用找到的ACTIVITY,即為DETAILACTIVITY,最終傳入INTENT,DETAILACTIVITV則會根據(jù)此INTENT中的描述,執(zhí)行相應(yīng)的操作。1、INTENT的抽象描述在ANDROID參考文檔中,對意圖的定義是執(zhí)行某操作的一個(gè)抽象描述。該抽象描述的具體內(nèi)容如下首先,它是要執(zhí)行的動作的一個(gè)簡要描述,如查看、修改等,ANDROID定義了一套標(biāo)準(zhǔn)動作。此外,還可以根據(jù)應(yīng)用的需要,定義自己的動作,并可定義相應(yīng)的活動來處理自定義的動作。其次,是執(zhí)行動作要操作的數(shù)據(jù),ANDROID采用指向數(shù)據(jù)的一個(gè)URI方式來實(shí)現(xiàn)。另外,除了動作和數(shù)據(jù)這兩個(gè)重要屬性外,還有一些附加屬性類別被執(zhí)行動作的附加信息。例如LAUNCHER_CATEGORY表示意圖的接受者應(yīng)該在LAUNCHER中作為頂級應(yīng)用出現(xiàn)而ALTERNATIVECATEGORY表示當(dāng)前的意圖是一系列的可選動作中的一個(gè),這些動作可以在同一個(gè)數(shù)據(jù)上執(zhí)行。數(shù)據(jù)類型顯式指定意圖的數(shù)據(jù)類型。一般意圖的數(shù)據(jù)類型能夠根據(jù)數(shù)據(jù)本身進(jìn)行判定,但是通過設(shè)置這個(gè)屬性,可以強(qiáng)制采用指定的類型。組件指定意圖的目標(biāo)組件的類名稱。通常ANDROID會根據(jù)意圖中包含的其它屬性的信息,比如動作、數(shù)據(jù)/數(shù)據(jù)類型、類別進(jìn)行查找,最終找到一個(gè)與之匹配的目標(biāo)組件。附加信息是其它所有附加信息的集合。使用附加信息可以為組件提供擴(kuò)展信息,比如,如果要執(zhí)行“發(fā)送電子郵件”這個(gè)動作,可以將電子郵件的標(biāo)題、正文等保存在附加信息里,傳給電子郵件發(fā)送組件。總之,動作、數(shù)據(jù)/數(shù)據(jù)類型、類別和附加信息一起形成了一種語言。這種語言使系統(tǒng)能夠理解諸如“查看某聯(lián)系人的詳細(xì)信息”之類的短語。隨著應(yīng)用不斷的加入到系統(tǒng)中,它們可以添加新的動作、數(shù)據(jù)/數(shù)據(jù)類型和類別來擴(kuò)展這種語言。應(yīng)用也可以提供自己的活動來處理已經(jīng)存在的這樣的“短語”,從而改變這些“短語”的行為。2、ANDROID中INTENT的使用在應(yīng)用中,可以以兩種形式來使用INTENTL直接意圖指定了組件屬性的意圖。通過指定具體的組件類,通知應(yīng)用啟動對應(yīng)的組件。2間接意圖沒有指定組件屬性的意圖。這些意圖需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此意圖的組件。對于直接意圖,ANDROID不需要去做解析,因?yàn)槟繕?biāo)組件已經(jīng)很明確,ANDROID需要解析的是那些間接意圖,通過解析,將意圖映射給可以處理此意圖的活動、意圖接收器或服務(wù)。意圖解析機(jī)制主要是通過查找己注冊在ANDROIDMANIFESTXML中的所有意圖過濾器及其中定義的意圖,最終找到匹配的意圖。在這個(gè)解析過程中,ANDROID是通過意圖的動作、數(shù)據(jù)類型、類別這三個(gè)屬性來進(jìn)行判斷的,判斷方法如下如果意圖指明定了動作,則目標(biāo)組件的意圖過濾器的動作列表中就必須包含有這個(gè)動作,否則不能匹配。如果意圖沒有提供數(shù)據(jù)類型,系統(tǒng)將從數(shù)據(jù)中得到數(shù)據(jù)類型。和動作一樣,目標(biāo)組件的數(shù)據(jù)類型列表中必須包含意圖的數(shù)據(jù)類型,否則不能匹配。如果意圖中的數(shù)據(jù)不是CONTENT類型的URI,而且意圖也沒有明確指定它的數(shù)據(jù)類型,將根據(jù)意圖中數(shù)據(jù)的格式比如HTTP或者M(jìn)AILTO進(jìn)行匹配。同上,意圖的格式必須出現(xiàn)在目標(biāo)組件的格式列表中。如果意圖指定了一個(gè)或多個(gè)類別,這些類別必須全部出現(xiàn)在組建的類別列表中。比如意圖中包含了兩個(gè)類別LAUNCHER_CATEGORY和ALTERNATIVEC_CATEGORY,解析得到的目標(biāo)組件必須至少包含這兩個(gè)類別。(五)ANDROID活動的生命周期ANDROID平臺是個(gè)手機(jī)作業(yè)系統(tǒng)。撇掉其他功能不談,手機(jī)的特性,就是應(yīng)該能隨時(shí)在未完成目前動作的時(shí)候,暫停正在使用的功能,切換到接電話、接收短信模式,而且在接完電話回到應(yīng)用程序時(shí),還希望能看到一樣的內(nèi)容。現(xiàn)在用戶使用智能手機(jī),大多已習(xí)慣使用多工的作業(yè)系統(tǒng)如WINDOWSMOBILE,可以在用手機(jī)聽音樂的同時(shí),執(zhí)行其他多個(gè)程序。同時(shí)執(zhí)行多個(gè)程序有它的明顯好處,但也有它的缺點(diǎn)。每多執(zhí)行一個(gè)應(yīng)用程序,就會多耗費(fèi)一些系統(tǒng)內(nèi)存,而手機(jī)里的內(nèi)存是相當(dāng)有限的。當(dāng)同時(shí)執(zhí)行的程序過多,或是關(guān)閉的程序沒有正確釋放掉內(nèi)存,系統(tǒng)運(yùn)行時(shí)就會覺得越來越慢,甚至不穩(wěn)定。為了解決這個(gè)問題,ANDROID引入了一個(gè)新的機(jī)制生命周期。ANDROID應(yīng)用程序的生命周期是由ANDROID框架進(jìn)行管理,而不是由應(yīng)用程序直接控制。通常,每一個(gè)應(yīng)用程序入口一般會是一個(gè)活動的ONCREATE方法,都會占據(jù)一個(gè)進(jìn)程。當(dāng)系統(tǒng)內(nèi)存即將不足的時(shí)候,會依照優(yōu)先級自動進(jìn)行進(jìn)程的回收。不管是使用者或開發(fā)者,都無法確定應(yīng)用程序何時(shí)會被回收。關(guān)于進(jìn)程的生命周期將在下一節(jié)中介紹,本節(jié)主要介紹活動的生命周期。一個(gè)活動類別除了ONCREATE方法之外,還預(yù)先定義了ONPAUSE暫停、ONRESUME繼續(xù)等的基本方法,當(dāng)從一個(gè)活動切換到另一個(gè)活動的時(shí)候,原來的活動將經(jīng)過一連串的狀態(tài)改變。開發(fā)者可以在程序中添加一些各狀態(tài)相對應(yīng)的流程,每次活動狀態(tài)改變時(shí),就會執(zhí)行相對應(yīng)的流程。要讓用戶有好的使用體驗(yàn),活動需要在各個(gè)周期中負(fù)責(zé)保管狀態(tài)、恢復(fù)狀態(tài)、傳送資料等工作。1、活動的生命狀態(tài)ANDROID的虛擬機(jī)是使用堆棧管理。主要有四種狀態(tài)L活動狀態(tài)活動狀態(tài)是指用戶啟動應(yīng)用程序或活動后,活動運(yùn)行中的狀態(tài)。在ANDROID平臺上,同一個(gè)時(shí)刻只會有一個(gè)活動處于活動或運(yùn)行狀態(tài)。其他的活動都處于未啟動、停止或是暫停的狀態(tài)。2暫停狀態(tài)暫停狀態(tài)是指當(dāng)活動暫時(shí)暗下來,退到背景畫面的狀態(tài)。當(dāng)警告對話框或電話來了時(shí),都會讓原來運(yùn)行的活動退到背景畫面。新出現(xiàn)的警告對話框等界面元件蓋住了原來的活動畫面?;顒犹幵跁和顟B(tài)時(shí),用戶無法與原活動互動。3停止?fàn)顟B(tài)停止?fàn)顟B(tài)是指有其他活動正在執(zhí)行,而這個(gè)活動己經(jīng)離開屏幕,不再動作的狀態(tài)。通過按返回鍵,可以調(diào)出所有處于停止?fàn)顟B(tài)的應(yīng)用程序列表。處于停止?fàn)顟B(tài)的活動,還可以通過通知來喚醒。4已回收或未啟動狀態(tài)已回收或未啟動狀態(tài)是指活動尚未被啟動、已經(jīng)被手動終止或己經(jīng)被系統(tǒng)回收的狀態(tài)。要手動終止活動,可以在程序中調(diào)用FINISH方法。如果是被系統(tǒng)回收,可能是因?yàn)閮?nèi)存不足了,所以系統(tǒng)根據(jù)內(nèi)存不足時(shí)的回收規(guī)則,將處于停止?fàn)顟B(tài)的活動所占用的內(nèi)存回收。ADROID活動聲明周期如圖32圖32ANDROID活動生命周期圖32所示的七個(gè)狀態(tài)又可以歸納成三組L資源分配創(chuàng)建/銷毀完整的活動生命周期由創(chuàng)建狀態(tài)開始,由銷毀狀態(tài)結(jié)束。創(chuàng)建時(shí)分配資源,銷毀時(shí)釋放資源。2可見與不可見啟動/重新啟動/停止當(dāng)活動運(yùn)行到啟動狀態(tài)時(shí),就可以在屏幕上看到這個(gè)活動。相反地,當(dāng)活動運(yùn)行到停止?fàn)顟B(tài)時(shí),這個(gè)活動就會從屏幕上消失。當(dāng)用戶按下返回鍵回到上一個(gè)活動時(shí),會先到重新啟動狀態(tài),再到一般的啟動狀態(tài)。3用戶取得屏幕的控制權(quán)繼續(xù)/暫停當(dāng)有個(gè)警告對話框、短信、電話等信息進(jìn)入時(shí),原來的活動會進(jìn)入暫停狀態(tài),暫時(shí)放棄屏幕的控制權(quán),被中斷到背景去,將前景交給優(yōu)先級高的事件。當(dāng)這些優(yōu)先級高的事件處理完后,活動就改進(jìn)入繼續(xù)狀態(tài),此時(shí)又取得屏幕的控制權(quán)。2、活動的運(yùn)作流程由實(shí)際運(yùn)行來看,我們可以歸納出所有ANDROID應(yīng)用程序都遵循的運(yùn)作流程L一般啟動啟動一個(gè)活動的基本流程為ONCREATE一ONSTART一ONRESUME。該流程首先分配資源給這個(gè)活動創(chuàng)建狀態(tài),然后將活動的內(nèi)容顯示到屏幕上啟動狀態(tài)在一切就緒后,取得屏幕的控制權(quán)恢復(fù)狀態(tài),用戶可以開始使用這個(gè)程序。2調(diào)用另一個(gè)活動調(diào)用另一個(gè)活動的基本流程為ONPAUSEL一ONCREATE2一ONSTART2一0NRESUME2一ONSTOPL。該流程首先凍結(jié)原來的活動,再交出屏幕控制權(quán)直到活動2完成一般啟動流程后,活動1才會被停止。3回到原來活動回到原來活動的基本流程為ONPAUSE2一ONRESTART1一ONSTARTL一ONRESUME1一ONSTOP2一ONDESTROY2。另外按返回鍵也可以回到原來的活動。(4退出結(jié)束退出結(jié)束的基本流程為ONPAUSE一ONSTOP一ONDESTROY。如果程序中有直接調(diào)用FINISH方法來關(guān)閉活動的話,系統(tǒng)會跳過先凍結(jié)的階段,直接暫停,停止,然后銷毀。5回收后再啟動回收后再啟動的基本流程為ONCREATE一ONSTART一ONRESUME。如果被回收掉的活動一旦又重新被調(diào)用時(shí),會像一般啟動一樣再次調(diào)用活動的ONCREATE方法。當(dāng)在模擬器上已經(jīng)執(zhí)行過多個(gè)應(yīng)用程序,只要按下返回鍵,就會開啟最近一次開啟過的活動。所以如果要讓再次被創(chuàng)建的活動跟原來開啟過的一樣,那么在活動之間切換時(shí),就要保存資料即在每次活動運(yùn)行到暫停或停止?fàn)顟B(tài)時(shí)先保存資料,然后在創(chuàng)建時(shí)將資料讀出來。四、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(一)游戲的策劃游戲的策劃主要包括游戲的情節(jié)、目標(biāo)受眾、運(yùn)行的目標(biāo)平臺、采用的呈現(xiàn)技術(shù)、操作方式等幾個(gè)方面。下面就針對本游戲?qū)ι鲜鰩讉€(gè)方面進(jìn)行簡單的介紹,如下所列。游戲情節(jié),本游戲?yàn)檩p量級的益智游戲,因此不存在很復(fù)雜的情節(jié)。這方面主要要做的工作主要為設(shè)計(jì)游戲形狀、大小、可通過區(qū)域。目標(biāo)受眾,這個(gè)游戲受眾面比較廣,應(yīng)該是老少皆宜的??紤]到受眾面廣的原因,應(yīng)該將操作方式設(shè)計(jì)得更加人性化,畫面更加清新。運(yùn)行的目標(biāo)平臺,本游戲的目標(biāo)平臺為ANDROID22。操作方式,本游戲擬采用手機(jī)觸屏進(jìn)行操作,對于沒有鍵盤的型號也可以考慮采用虛擬鍵盤。由于該游戲使用ECLIPSE作為主要的開發(fā)工具,所以在開發(fā)之前需要檢查ECLIPSE是否已經(jīng)配置好。(二)游戲基本功能描述掃雷是一款益智游戲,其設(shè)計(jì)目的是訓(xùn)練人的邏輯思維能力。排除地雷疑似所在的位置,直到所有的雷掃除成功。該游戲則勝利。該游戲的功能流程圖如圖41所示圖41功能流程具體的功能如下1、開始游戲,點(diǎn)擊此圖標(biāo)開始游戲。2、游戲判定,當(dāng)游戲輸時(shí),踩雷顯示為M。當(dāng)游戲勝利時(shí),所有的雷顯示為F。3、時(shí)間提示,提示游戲用時(shí)多長時(shí)間。4、退出游戲,點(diǎn)擊此圖標(biāo)退出游戲。(三)系統(tǒng)詳細(xì)設(shè)計(jì)1、系統(tǒng)圖標(biāo)設(shè)計(jì)(1)、文字說明(2)、截圖2、系統(tǒng)運(yùn)行詳情掃雷游戲通過虛擬機(jī)運(yùn)行,點(diǎn)擊掃雷圖標(biāo)后,進(jìn)入系統(tǒng)圖標(biāo),如圖43所示圖43虛擬機(jī)進(jìn)入界面點(diǎn)擊上述圖所顯示的掃雷圖標(biāo)后,進(jìn)入游戲界面,在進(jìn)入游戲界面里以后會出現(xiàn)字符提示,提示點(diǎn)擊笑臉圖標(biāo)可開始游戲,如圖44所示圖44進(jìn)入游戲提示界面點(diǎn)擊笑臉圖標(biāo)后,進(jìn)入游戲開始界面,可以開始游戲,如圖45所示圖45進(jìn)入游戲開始界面圖436游戲判定失敗的界面五、結(jié)論本文著重介紹了一個(gè)基于ANDROID的掃雷游戲的設(shè)計(jì)與實(shí)現(xiàn),并且最終成功在ANDROID模擬器上模擬出了正確的成果。至此,本次我的畢業(yè)設(shè)計(jì)工作即將完成。在本次畢業(yè)設(shè)計(jì)之前我對ANDROID的了解不是太深,對ECLIPSE的操作系統(tǒng)也很不熟悉,使得我在畢業(yè)設(shè)計(jì)在開始階段十分的困難。在花了大量的時(shí)間查閱資源,并且在不斷的努力實(shí)驗(yàn)下順利搭建好開發(fā)環(huán)境后,我又發(fā)現(xiàn)我對ECLIPSE的開發(fā)語言極其陌生,對于畢業(yè)設(shè)計(jì)的工作一度感到力不從心,不過終于借助ANDROID相關(guān)書籍、論文大量的既有資源和源代碼的閱讀,并且在XX老師的耐心指導(dǎo)和幫助下完成了此次的畢業(yè)設(shè)計(jì)。盡管本次畢業(yè)設(shè)計(jì)的掃雷游戲已經(jīng)基本開發(fā)完成,但因?yàn)槭褂肊CLIPSE來設(shè)計(jì)基于ANDROID的游戲平時(shí)很少接觸,使得游戲中還存在許多的不足,例如游戲中沒有添加對音效、游戲不能選擇難度和不能再游戲中直接退出游戲,由于時(shí)間和本人能力的關(guān)系,只能在日后再進(jìn)行完善了。我相信通過我的努力和不斷研究一定會做出更好的成績。致謝值此論文完成之際,衷心感謝我的指導(dǎo)老師XX老師,在畢業(yè)設(shè)計(jì)的過程中給予我悉心的指導(dǎo)和幫助,她對待學(xué)識的嚴(yán)謹(jǐn)態(tài)度和作風(fēng)讓我感觸頗深。感謝地質(zhì)大的老師們幫助我們學(xué)習(xí)知識,操心我們的考試、學(xué)習(xí)、作業(yè)等。感謝陪我一起度過兩個(gè)半春秋的本科學(xué)員們,和我一起度過了難忘的學(xué)習(xí)時(shí)光。感謝我的爸爸媽媽,將我培養(yǎng)成人,教育我,幫助我。最后,對審批此論文的老師表示深深地謝意。參考文獻(xiàn)1李華明,ANDROID游戲編程之從零開始,北京清華大學(xué)出版社,20112李剛,瘋狂ANDROID講義,北京電子工業(yè)出版社,20113楊豐盛,ANDROID技術(shù)內(nèi)幕系統(tǒng)卷,北京機(jī)械工業(yè)出版社,20114梅爾RETOMEIER、王超,ANDROID2高級編程第2版,北京清華大學(xué)出版社5李佐彬等ANDROID開發(fā)入門與實(shí)戰(zhàn)體驗(yàn)北京機(jī)械工業(yè)出版社6韓超、梁泉ANDROID系統(tǒng)原理及開發(fā)要點(diǎn)詳解北京電子工業(yè)出版社7趙毅主編,跨平臺程序設(shè)計(jì)語言JAVA,西安電子科技大學(xué)出版社,20068孫衛(wèi)琴,TOMCAT與JAVAWEB開發(fā)技術(shù)詳解,電子工業(yè)出版社,2009年01月,第2版請刪除以下內(nèi)容,O_O謝謝THEORIGINOFTAXATIONINTHEUNITEDSTATESCANBETRACEDTOTHETIMEWHENTHECOLONISTSWEREHEAVILYTAXEDBYGREATBRITAINONEVERYTHINGFROMTEATOLEGALANDBUSINESSDOCUMENTSTHATWEREREQUIREDBYTHESTAMPTAXTHECOLONISTSDISDAINFORTHISTAXATIONWITHOUTREPRESENTATIONSOCALLEDBECAUSETHECOLONIESHADNOVOICEINTHEESTABLISHMENTOFTHETAXESGAVERISETOREVOLTSSUCHASTHEBOSTONTEAPARTYHOWEVER,EVENAFTERTHEREVOLUTIONARYWARANDTHEADOPTIONOFTHEUSCONSTITUTION,THEMAINSOURCEOFREVENUEFORTHENEWLYCREATEDSTATESWASMONEYRECEIVEDFROMCUSTOMSANDEXCISETAXESONITEMSSUCHASCARRIAGES,SUGAR,WHISKEY,ANDSNUFFINCOMETAXFIRSTAPPEAREDINTHEUNITEDSTATESIN1862,DURINGTHECIVILWARATTHATTIMEONLYABOUTONEPERCENTOFTHEPOPULATIONWASREQUIREDTOPAYTHETAXAFLATRATEINCOMETAXWASIMPOSEDIN1867THEINCOMETAXWASREPEALEDINITSENTIRETYIN1872INCOMETAXWASARALLYINGPOINTFORTHEPOPULISTPARTYIN1892,ANDHADENOUGHSUPPORTTWOYEARSLATERTHATCONGRESSPASSEDTHEINCOMETAXACTOF1894THETAXATTHATTIMEWASTWOPERCENTONINDIVIDUALINCOMESINEXCESSOF4,000,WHICHMEANTTHATITREACHEDONLYTHEWEALTHIESTMEMBERSOFTHEPOPULATIONTHESUPREMECOURTSTRUCKDOWNTHETAX,HOLDINGTHATITVIOLATEDTHECONSTITUTIONALREQUIREMENTTHATDIRECTTAXESBEAPPORTIONEDAMONGTHESTATESBYPOPULATIONPOLLOCKVFARMERSLOANTHEEXPLANATIONOFTHETAXREFORMACTOF1986WASMORETHANTHIRTEENHUNDREDPAGESLONGPUBL99514,OCT22,1986,100STAT2085COMMERCECLEARINGHOUSE,APUBLISHEROFTAXINFORMATION,RELEASEDAVERSIONOFTHEINTERNALREVENUECODEINTHEEARLY1990STHATWASFOURTIMESTHICKERTHANITSVERSIONIN1953CHANGESTOTHETAXLAWSOFTENREFLECTTHETIMESTHEFLATTAXOF1913WASLATERREPLACEDWITHAGRADUATEDTAXAFTERTHEUNITEDSTATESENTEREDWORLDWARI,THEWARREVENUEACTOF1917IMPOSEDAMAXIMUMTAXRATEFORINDIVIDUALSOF67PERCENT,COMPAREDWITHARATEOF13PERCENTIN1916IN1924SECRETARYOFTHETREASURYANDREWWMELLON,SPEAKINGTOCONGRESSABOUTTHEHIGHLEVELOFTAXATION,STATED,THEPRESENTSYSTEMISAFAILUREITWASANEMERGENCYMEASURE,ADOPTEDUNDERTHEPRESSUREOFWARNECESSITYANDNOTTOBECOUNTEDUPONASAPERMANENTPARTOFOURREVENUESTRUCTURETHEHIGHRATESPUTPRESSUREONTAXPAYERSTOREDUCETHEIRTAXABLEINCOME,TENDTODESTROYINDIVIDUALINITIATIVEANDENTERPRISE,ANDSERIOUSLYIMPEDETHEDEVELOPMENTOFPRODUCTIVEBUSINESSWAYSWILLALWAYSBEFOUNDTOAVOIDTAXESSODESTRUCTIVEINTHEIRNATURE,ANDTHEONLYWAYTOSAVETHESITUATIONISTOPUTTHETAXESONAREASONABLEBASISTHATWILLPERMITBUSINESSTOGOONANDINDUSTRYTODEVELOPCONSEQUENTLY,THEREVENUEACTOF1924REDUCEDTHEMAXIMUMINDIVIDUALTAXRATETO43PERCENTREVENUEACTS,JUNE2,1924,CH234,43STAT253IN1926THERATEWASFURTHERREDUCEDTO25PERCENTTHEREVENUEACTOF1932WASTHEFIRSTTAXLAWPASSEDDURINGTHEGREATDEPRESSIONREVENUEACTS,JUNE6,1932,CH209,47STAT169ITINCREASEDTHEINDIVIDUALMAXIMUMRATEFROM25TO63PERCENT,ANDREDUCEDPERSONALEXEMPTIONSFROM1,500TO1,000FORSINGLEPERSONS,ANDFROM3,500TO2,500FORMARRIEDCOUPLESTHENATIONALINDUSTRIALRECOVERYACTOF1933NIRA,PARTOFPRESIDENTFRANKLINDROOSEVELTSNEWDEAL,IMPOSEDAFIVEPERCENTEXCISETAXONDIVIDENDRECEIPTS,IMPOSEDACAPITALSTOCKTAXANDANEXCESSPROFITSTAX,ANDSUSPENDEDALLDEDUCTIONSFORLOSSESJUNE16,1933,CH90,48STAT195THEREPEALIN1933OFTHEEIGHTEENTHAMENDMENT,WHICHHADPROHIBITEDTHEMANUFACTUREANDSALEOFALCOHOL,BROUGHTINANESTIMATED90MILLIONINNEWLIQUORTAXESIN1934THESOCIALSECURITYACTOF1935PROVIDEDFORAWAGETAX,HALFTOBEPAIDBYTHEEMPLOYEEANDHALFBYTHEEMPLOYER,TOESTABLISHAFEDERALRETIREMENTFUNDOLDAGEPENSIONACT,AUG14,1935,CH531,49STAT620THEWEALTHTAXACT,ALSOKNOWNASTHEREVENUEACTOF1935,INCREASEDTHEMAXIMUMTAXRATETO79PERCENT,THEREVENUEACTSOF1940AND1941INCREASEDITTO81PERCENT,THEREVENUEACTOF1942RAISEDITTO88PERCENT,ANDTHEINDIVIDUALINCOMETAXACTOF1944RAISEDTHEINDIVIDUALMAXIMUMRATETO94PERCENTTHEPOSTWORLDWARIIREVENUEACTOF1945REDUCEDTHEINDIVIDUALMAXIMUMTAXFROM94PERCENTTO91PERCENTTHEREVENUEACTOF1950,DURINGTHEKOREANWAR,REDUCEDITTO844PERCENT,BUTITWASRAISEDTHENEXTYEARTO92PERCENTREVENUEACTOF1950,SEPT23,1950,CH994,STAT906ITREMAINEDATTHISLEVELUNTIL1964,WHENITWASREDUCEDTO70PERCENTTHEREVENUEACTOF1954REVISEDTHEINTERNALREVENUECODEOF1939,MAKINGMAJORCHANGESTHATWEREBENEFICIALTOTHETAXPAYER,INCLUDINGPROVIDINGFORCHILDCAREDEDUCTIONSLATERCHANGEDTOCREDITS,ANINCREASEINTHECHARITABLECONTRIBUTIONLIM
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)機(jī)構(gòu)合同范本
- 喜德縣2024第一季度四川涼山州喜德縣人力資源和社會保障局考核招聘緊缺專業(yè)技術(shù)人筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 鋼鐵行業(yè)項(xiàng)目經(jīng)理招聘面題集與解答參考
- 醫(yī)藥行業(yè)藥品管理面試題及答案
- 教育顧問課程規(guī)劃面試題集
- 廣藥集團(tuán)財(cái)務(wù)經(jīng)理財(cái)務(wù)知識競賽題庫含答案
- 卓越績效崗的績效考核工具與方法介紹
- 2025年譜系分析技術(shù)在基因研究中的創(chuàng)新可行性研究報(bào)告
- 2025年現(xiàn)代文化娛樂產(chǎn)業(yè)發(fā)展項(xiàng)目可行性研究報(bào)告
- 2025年在線教育培訓(xùn)平臺建設(shè)項(xiàng)目可行性研究報(bào)告
- 捷盟-03-京唐港組織設(shè)計(jì)與崗位管理方案0528-定稿
- 基于SystemView的數(shù)字通信仿真課程設(shè)計(jì)
- 物業(yè)二次裝修管理規(guī)定
- GB 10133-2014食品安全國家標(biāo)準(zhǔn)水產(chǎn)調(diào)味品
- FZ/T 92023-2017棉紡環(huán)錠細(xì)紗錠子
- 采氣工程課件
- 非洲豬瘟實(shí)驗(yàn)室診斷電子教案課件
- 工時(shí)的記錄表
- 金屬材料與熱處理全套ppt課件完整版教程
- 熱拌瀝青混合料路面施工機(jī)械配置計(jì)算(含表格)
- 水利施工CB常用表格
評論
0/150
提交評論