基于android的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)_第1頁
基于android的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)_第2頁
基于android的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)_第3頁
基于android的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)_第4頁
基于android的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(論文)任務(wù)書畢業(yè)設(shè)計(論文)題目基于ANDROID的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計(論文)要求及原始數(shù)據(jù)(資料)1綜述國內(nèi)外ANDROID應(yīng)用的研究現(xiàn)狀;2熟悉ANDROID平臺的功能特征及應(yīng)用程序架構(gòu);3理解ANDROID應(yīng)用程序的設(shè)計思想,在充分調(diào)研的基礎(chǔ)上了解用戶的需求;4設(shè)計并能實現(xiàn)應(yīng)用程序的基本功能,有一定實用價值;5開發(fā)的應(yīng)用程序應(yīng)盡可能界面友好,操作方面,功能較強(qiáng);6訓(xùn)練檢索文獻(xiàn)資料和利用文獻(xiàn)資料的能力;7訓(xùn)練撰寫技術(shù)文檔與學(xué)位論文的能力。畢業(yè)設(shè)計(論文)主要內(nèi)容1綜述當(dāng)前移動市場格局和ANDROID的發(fā)展背景;2了解ANDROID平臺的系統(tǒng)構(gòu)架和開發(fā)所需的相關(guān)技術(shù);3熟練應(yīng)用并搭載ANDROID的開發(fā)環(huán)境;4分析和規(guī)劃APP的模塊分類和功能實現(xiàn);5著手設(shè)計該應(yīng)用的UI交互界面;6編程實現(xiàn)該應(yīng)用程序的系統(tǒng)模塊的功能和設(shè)計;7根據(jù)設(shè)計,測試和完善系統(tǒng)功能,解決問題。8完成應(yīng)用程序的設(shè)計開發(fā),撰寫及完善,整理論文稿。學(xué)生應(yīng)交出的設(shè)計文件(論文)1內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計論文;2包括畢業(yè)設(shè)計論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計電子文檔及其它相關(guān)材料?;贏NDROID的聯(lián)系人擂臺戰(zhàn)的設(shè)計與實現(xiàn)摘要近年來,隨著移動互聯(lián)網(wǎng)和電子信息技術(shù)的迅猛發(fā)展,使用ANDROID技術(shù)開發(fā)的手機(jī)游戲受到越來越多人的青睞。手機(jī)游戲市場亦得到了很大的發(fā)展。本文通過對ANDROID應(yīng)用開發(fā)的初步研究,設(shè)計出了一款基于ANDROID平臺的聯(lián)系人擂臺戰(zhàn)小游戲。在對系統(tǒng)進(jìn)行詳細(xì)需求分析的基礎(chǔ)上,確定了系統(tǒng)的基本功能要求,對游戲的菜單界面、布局算法、系統(tǒng)數(shù)據(jù)獲取、數(shù)據(jù)庫操作進(jìn)行了設(shè)計,最終實現(xiàn)了一款風(fēng)格清新、娛樂體驗豐富的手機(jī)聯(lián)系人擂臺戰(zhàn)小游戲。本文介紹了實現(xiàn)游戲的相關(guān)理論基礎(chǔ)、運行平臺和實現(xiàn)技術(shù),重點研究了SQLITE數(shù)據(jù)庫的技術(shù)特點及游戲數(shù)據(jù)的存取,讓本游戲的大量數(shù)據(jù)更易整合,提高數(shù)據(jù)的存取效率,并合理布局游戲界面,使游戲界面更加美觀和人性化,實現(xiàn)了游戲的基本功能,最后,論文對游戲的各個模塊進(jìn)行了功能和性能測試。關(guān)鍵詞ANDROID;游戲;聯(lián)系人;SQLITERESEARCHANDIMPLEMENTATIONOFTHECONTACTRINGWARBASEDONANDROIDABSTRACTINRECENTYEARS,WITHTHERAPIDDEVELOPMENTOFMOBILEINTERNETANDELECTRONICINFORMATIONTECHNOLOGY,USETHEANDROIDTECHNOLOGYDEVELOPMENTOFMOBILEGAMESFAVOREDBYMOREANDMOREPEOPLEMOBILEGAMEMARKETALSOGOTAGREATDEVELOPMENTTHISARTICLETHROUGHTOTHEPRELIMINARYRESEARCHONTHEANDROIDAPPLICATIONDEVELOPMENT,HASDEVISEDACONTACTCHALLENGEWARGAMEBASEDONANDROIDPLATFORMINTHESYSTEMINDETAIL,ONTHEBASISOFDEMANDANALYSIS,TODETERMINETHEBASICFUNCTIONSOFTHESYSTEMREQUIREMENTS,TOTHEGAMEMENUINTERFACE,LAYOUTALGORITHM,DATAACQUISITIONSYSTEM,DESIGNINGDATABASEOPERATIONS,ANDFINALLYACHIEVEDASTYLEISPUREANDFRESHANDRICHENTERTAINMENTEXPERIENCEOFMOBILEPHONECONTACTSCHALLENGEWARGAMETHISPAPERINTRODUCESTHETHEORETICALBASIS,RELATIVETOTHEIMPLEMENTATIONOFTHEGAMEPLATFORMANDIMPLEMENTATIONTECHNOLOGY,FOCUSESONTHETECHNICALCHARACTERISTICSOFSQLITEDATABASEANDGAMEDATAACCESS,MAKETHISGAMEALOTOFDATAEASIERINTEGRATION,IMPROVETHEEFFICIENCYOFDATAACCESS,ANDREASONABLELAYOUTOFTHEGAMEINTERFACE,MAKETHEGAMEMOREBEAUTIFULANDHUMANIZEDINTERFACE,REALIZETHEBASICFUNCTIONOFTHEGAME,FINALLY,THEPAPERONTHEGAMEOFTHEFUNCTIONSOFTHEVARIOUSMODULESANDPERFORMANCETESTINGKEYWORDSGAMES;ANDROID;CONTACTSQLITE目錄1緒論711引言712課題背景介紹7121手機(jī)的應(yīng)用市場發(fā)展現(xiàn)狀7122ANDROID平臺介紹813課題研究價值及意義814論文結(jié)構(gòu)安排92相關(guān)技術(shù)介紹1021ANDROID系統(tǒng)架構(gòu)1022ANDROID特性1123ANDROID開發(fā)環(huán)境搭建1224ANDROIDSQLITE數(shù)據(jù)庫簡介13241關(guān)系型數(shù)據(jù)庫SQLITE13242SQLITE數(shù)據(jù)庫特征14243SQLITE數(shù)據(jù)庫擴(kuò)展類15244SQLITE數(shù)據(jù)庫操作163流程介紹與概要設(shè)計2031游戲流程介紹2032可行性分析20321操作可行性20322技術(shù)可行性21323社會可行性2133系統(tǒng)概要設(shè)計21331界面布局模塊22332游戲角色模塊22333戰(zhàn)斗文案模塊23334游戲排行模塊23335游戲設(shè)置模塊23336游戲?qū)崿F(xiàn)模塊2334系統(tǒng)風(fēng)格定位2435小結(jié)244系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)2541系統(tǒng)工程的創(chuàng)建2542界面UI設(shè)計26421主要界面布局26422游戲界面布局2743游戲功能實現(xiàn)28431聯(lián)系人獲取28432角色屬性賦值29433戰(zhàn)斗文案分類和顯示30434戰(zhàn)斗結(jié)果判斷31435戰(zhàn)績排行33436背景音樂設(shè)置3444本章小結(jié)365系統(tǒng)測試3751測試環(huán)境介紹3752功能模塊測試3753出現(xiàn)的錯誤及解決方案4154系統(tǒng)性能分析4255本章小結(jié)42總結(jié)43致謝44參考文獻(xiàn)45外文原文46中文翻譯521緒論11引言在手機(jī)應(yīng)用市場和移動互聯(lián)網(wǎng)迅猛發(fā)展的形勢下,作為智能手機(jī)平臺而基于LINUX內(nèi)核的操作系統(tǒng)ANDROID于2007年11月5日應(yīng)運而生。在谷歌公司的運營開發(fā)下,并由2011年初數(shù)據(jù)顯示,操作系統(tǒng)ANDROID雖僅正式上市兩年卻已躍居到全球最受人們歡迎的智能手機(jī)平臺地位。鑒于ANDROID的開放性好、硬件選擇豐富、不受運營商的束縛、開發(fā)商不受任何限制、能無縫結(jié)合優(yōu)秀的GOOGLE應(yīng)用這五大優(yōu)勢,當(dāng)今的ANDROID不僅在手機(jī)市場上叱咤風(fēng)云,還急速擴(kuò)張到平板電腦市場。目前,全球手機(jī)用戶數(shù)已超過了PC機(jī)用戶數(shù),其中智能手機(jī)的比例越來越高。智能手機(jī)是指像電腦一樣可以通過下載、安裝軟件來拓展基本功能的手機(jī),一般具有智能手機(jī)操作系統(tǒng)。相較于非智能手機(jī),它功能更強(qiáng),處理速度更快?;贚INUX的ANDROID手機(jī)操作系統(tǒng),由于具有開源、免費的特性,迅速得到廣大愛好者及廠商的支持。目前,移動應(yīng)用軟件中的手機(jī)游戲開發(fā)是一項非常熱門的技術(shù)。游戲一直以來就是人們在休閑娛樂時的一項不錯選擇,它具有強(qiáng)大的吸引力,能給玩家?guī)硖魬?zhàn)、刺激、新鮮、成就感等多種現(xiàn)實生活中欠缺而只能在虛擬世界才能感受到的東西。游戲的這些獨特魅力,并伴著現(xiàn)代電子信息技術(shù)的巨大推進(jìn)作用,使得游戲產(chǎn)業(yè)在全世界的娛樂領(lǐng)域中逐步占據(jù)主流位置。手機(jī)游戲一方面因為手機(jī)平臺自身所具有的便捷性讓人們更加容易接受并喜愛,另一方面反過來也為手機(jī)擴(kuò)充了其功能面,它緩沖著當(dāng)今人們的緊張生活節(jié)奏,給一些枯燥時刻帶來另樣而歡快的享受。此次設(shè)計將使用JAVA及ANDROID開發(fā)技術(shù)實現(xiàn)出一款基于ANDROID平臺并能在模擬器、安卓系統(tǒng)手機(jī)上運行的聯(lián)系人擂臺戰(zhàn)游戲。12課題背景介紹121手機(jī)的應(yīng)用市場發(fā)展現(xiàn)狀目前隨著移動設(shè)備越來越普及以及移動設(shè)備的硬件的提升,移動設(shè)備的功能越來越完善,移動設(shè)備的系統(tǒng)平臺也日漸火熱起來。目前國內(nèi)最常見的移動開發(fā)平臺有SYMBIAN,IPHONE,WINDOWSPHONE以及當(dāng)下正在逐步興起的ANDROID。目前為止國內(nèi)已經(jīng)有很多ANDROID系統(tǒng)的用戶。截止2010年第二季度ANDROID系統(tǒng)的國內(nèi)市場占有率已經(jīng)過10,在西歐以及北美智能手機(jī)市場占有率也在20左右。由此可見ANDROID和手機(jī)應(yīng)用市場正處于起步階段,市場和消費者需要個接受的過程,眾多開發(fā)者也都在積極探索盈利31模式。ANDROID開發(fā)者實現(xiàn)盈利主要依賴兩方面因素,一是全球ANDROID手機(jī)終端的爆發(fā),另外就是海外付費應(yīng)用程序的模式逐漸形成。目前ANDROID應(yīng)用開發(fā)個人或團(tuán)體雖未取得規(guī)模盈利,但也開始逐漸向盈利模式轉(zhuǎn)移,獲得不錯收益。圖12是中國移動應(yīng)用軟件超市2010年的統(tǒng)計數(shù)據(jù),消費者下載量最高的依然是應(yīng)用開發(fā),其次便是游戲開發(fā),占據(jù)39的下載量,而傳統(tǒng)的增值業(yè)務(wù)則只占5,在移動互聯(lián)網(wǎng)時代,開發(fā)者紛紛逃離營運商的束縛,轉(zhuǎn)向利潤較為豐厚的應(yīng)用程序和游戲開發(fā)。由此圖也可以看出手機(jī)游戲軟件在消費者中的受歡迎程度,如果想在未來手機(jī)應(yīng)用程序開發(fā)中實現(xiàn)規(guī)模則需要加大手機(jī)游戲方面的開發(fā)力度。122ANDROID平臺介紹ANDROID是一種基于LINUX內(nèi)核的智能機(jī)平臺上的操作系統(tǒng),最初由ANDYRUBIN開發(fā),之后被谷歌公司收購并繼續(xù)進(jìn)行運營和開發(fā)。2007年11月,GOOGLE公司與84家軟件開發(fā)商、硬件制造商及電信營運商一起組建了一個開放性的手機(jī)聯(lián)盟來進(jìn)行共同研發(fā)并逐步改良ANDROID系統(tǒng)。隨后GOOGLE公司發(fā)布了開放性的ANDROID源代碼,第一部ANDROID智能手機(jī)也于2008年10月得以推出。在ANDROID上市僅兩年時間后,它便超過塞班系統(tǒng)而躍居全球手機(jī)市場第一的位置,在中國市場的占有率達(dá)到90,并擴(kuò)張到平板電腦等其它移動設(shè)備領(lǐng)域迅速發(fā)展。ANDROID平臺因為開放性使得這個平臺具有非常好的發(fā)展前景。由于ANDROID構(gòu)建在開源代碼的框架之上,并且提供了強(qiáng)大的SDK庫和開放的理念,所以它為廣大的沒有任何移動應(yīng)用程序開發(fā)經(jīng)驗的新手開辟了一條開發(fā)完美移動應(yīng)用程序的康莊大道。而富有經(jīng)驗的移動開發(fā)人員現(xiàn)在也可以方便地擴(kuò)展到ANDROID平臺上來,利用它獨特的功能來改進(jìn)現(xiàn)有產(chǎn)品或者開發(fā)其他新穎產(chǎn)品。13課題研究價值及意義ANDROID軟件在一兩年的時間內(nèi)已經(jīng)迅速發(fā)展,在各類型應(yīng)用系統(tǒng)中都有令用戶滿意的成果,本課題研究的就是基于此背景下ANDROID手機(jī)的一款小游戲。聯(lián)系人擂臺戰(zhàn)的游戲是對手機(jī)聯(lián)系人的惡搞小游戲,一方面很好地緩沖了當(dāng)今人們的緊張生活節(jié)奏,為一些枯燥時刻帶來另樣而歡快的享受。另一方面通過聯(lián)系人對戰(zhàn)游戲發(fā)現(xiàn)通訊錄中久未聯(lián)系的朋友或親人,增進(jìn)感情。通過該游戲的設(shè)計,將自己學(xué)到的JAVA,ANDROID方面的理論知識應(yīng)用于實踐,提高自己的動手能力。在設(shè)計的過程中,不斷的修補(bǔ)知識方面的漏洞,加深自己對程序設(shè)計的理解,提升我對新領(lǐng)域知識的自學(xué)能力與實踐應(yīng)用能力,增加項目經(jīng)驗。同時也能深入獲悉用戶對手機(jī)游戲的功能需求,進(jìn)一步領(lǐng)會手機(jī)游戲應(yīng)具有的易于學(xué)習(xí)、可中斷性、基于訂閱及豐富的社會交互性這幾大特征。另者也很好地了解并參與了游戲開發(fā)的基本流程,進(jìn)一步拓寬了自己的知識面。為將來的繼續(xù)學(xué)習(xí)和從事軟件開發(fā)事業(yè)奠定了良好的基礎(chǔ)。14論文結(jié)構(gòu)安排論文從最初構(gòu)思到分析實踐,結(jié)合了ANDROID開發(fā)資料,進(jìn)行了一個聯(lián)系人對戰(zhàn)游戲的設(shè)計制作,其中,具體介紹游戲的制作步驟,包括一系列代碼的編寫和內(nèi)部結(jié)構(gòu)的鏈接,論文分為六個部分,安排如下1緒論。主要是介紹課題背景,此次課題研究具有的價值與意義以及論文結(jié)構(gòu)的安排。其中包括手機(jī)應(yīng)用市場現(xiàn)狀、ANDROID平臺簡介,也深入說明了課題研究的價值和意義。為該系統(tǒng)后續(xù)的分析與設(shè)計提供了強(qiáng)大的背景支持與理論依據(jù)。2相關(guān)開發(fā)技術(shù)介紹。本章介紹了ANDROID的系統(tǒng)架構(gòu)和ANDROID的特性、以及ANDROID開發(fā)環(huán)境的搭建流程和注意事項還有應(yīng)用開發(fā)中主要用到的SQLITE數(shù)據(jù)庫的介紹和使用方法。3流程介紹與概要設(shè)計。本章結(jié)合系統(tǒng)的需求分析初步設(shè)計了系統(tǒng),其中還包括了系統(tǒng)的基本流程設(shè)計以及模塊的劃分與設(shè)計,并詳細(xì)說明了游戲規(guī)則,定位了游戲的系統(tǒng)風(fēng)格。這些為下一章的系統(tǒng)實現(xiàn)打下了基礎(chǔ)。4系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)。本章的主要內(nèi)容為系統(tǒng)的實現(xiàn),先介紹了開發(fā)環(huán)境的搭建,再介紹系統(tǒng)工程的創(chuàng)建并對創(chuàng)建好的系統(tǒng)中各組成部分做出了解釋說明,繼而深入詮釋了主要功能的實現(xiàn)并給出了功能實現(xiàn)后的效果圖,并于最后展示了系統(tǒng)運行的各主要界面圖。5系統(tǒng)測試與性能分析。在對系統(tǒng)進(jìn)行測試的過程中,發(fā)現(xiàn)了不少問題和缺陷,之后及時對其進(jìn)行了修正??傮w上,本次系統(tǒng)的設(shè)計與開發(fā)達(dá)到了預(yù)期目標(biāo),基本實現(xiàn)了系統(tǒng)設(shè)計時的各項需求,完成后的系統(tǒng)其性能也很安全穩(wěn)定。這標(biāo)志著本次基于ANDROID平臺的聯(lián)系人擂臺戰(zhàn)游戲設(shè)計開發(fā)工作圓滿完成。6總結(jié)。對整篇論文進(jìn)行回顧,予以總結(jié),并作出對未來工作的展望。2相關(guān)技術(shù)介紹21ANDROID系統(tǒng)架構(gòu)ANDROID的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。ANDROID分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和LINUX核心層。(1)APPLICATIONS(應(yīng)用程序?qū)樱?。在ANDROID平臺上,已存在著一些關(guān)鍵的應(yīng)用程序,如網(wǎng)頁瀏覽器、郵件、日歷、收發(fā)客戶端程序短信等。鑒于平臺的開放性特點,更多富有特色且功能強(qiáng)大的ANDROID應(yīng)用程序正在被廣大開發(fā)者共同努力參與研發(fā)中。開發(fā)者可以利用JAVA語言設(shè)計和編寫屬于自己的應(yīng)用程序,而這些程序與那些核心應(yīng)用程序彼此平等、友好共處。(2)APPLICATIONFFRAMEWORK(應(yīng)用程序框架層)。該層是ANDROID應(yīng)用開發(fā)的基礎(chǔ),開發(fā)人員大部分情況是在和它打交道。該框架中,最重要的部分主要包含有在控制應(yīng)用程序的生命周期的同時維護(hù)著一個公共的“后退棧“來供用戶導(dǎo)航的活動管理器;內(nèi)容提供者,用來提供一些如聯(lián)系人信息之類的需要在應(yīng)用程序之間共享的數(shù)據(jù);涉及非代碼內(nèi)容的資源管理器;讓ANDROID手機(jī)能隨時獲取目前所處的位置信息的位置管理器;通知用戶如收到信息、臨近約會時間等事件的通知管理器等,除此之外還有窗口管理器、視圖系統(tǒng)、包管理器、電話管理器和XMPP服務(wù)等部分。應(yīng)用程序框架層包括在ANDROID平臺上,開發(fā)人員可以完全訪問核心應(yīng)用程序所使用的API框架。并且,任何一個應(yīng)用程序都可以發(fā)布自身的功能模塊,而其他應(yīng)用程序則可以使用這些已發(fā)布的功能模塊?;谶@樣的重用機(jī)制,用戶就可以方便地替換平臺本身的各種應(yīng)用程序組件。(3)LIBRARIES(C/C函數(shù)庫)。ANDROID本機(jī)庫是由一套C/C函數(shù)庫構(gòu)成的,它們服務(wù)于上層ANDROID應(yīng)用程序組件,并通過這些組件將功能傳遞給開發(fā)者使用。這些函數(shù)庫主要包括瀏覽器引擎(采用的是WEBKIT庫)、2D和3D圖形庫、SQL數(shù)據(jù)庫(一些輕量級的SQLITE數(shù)據(jù)庫引擎)、媒體功能庫以及界面管理器等。(4)ANDROIDRUNTIME(ANDROID運行時)。ANDROID運行時包括核心庫和DALVIK虛擬機(jī),前者既兼容了大多數(shù)JAVA語言所需要調(diào)用的功能函數(shù),又包括了ANDROID的核心庫,比如ANDROIDOS、ANDROIDNET、ANDROIDMEDIA等等。后者是一種基于寄存器的JAVA虛擬機(jī),DALVIK虛擬機(jī)主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。(5)LINUXKERNEL(LINUX內(nèi)核層)。ANDROID操作系統(tǒng)是基于優(yōu)化了的LINUX內(nèi)核之上的,建立在LINUX26之上。LINUX內(nèi)核提供了安全性,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型等核心系統(tǒng)服務(wù)。除此之外,LINUX內(nèi)核也是系統(tǒng)硬件和軟件疊層之間的抽象層。22ANDROID特性ANDROID系統(tǒng)是工作于智能手機(jī)之上的操作系統(tǒng),處處體現(xiàn)了與手機(jī)相關(guān)的特性。由于手機(jī)硬件配置的關(guān)系A(chǔ)NDROID系統(tǒng)與PC機(jī)上的操作系統(tǒng)有著很大的差異。只有在充分了解ANDROID系統(tǒng)特性才能開發(fā)出適合手機(jī)運用的軟件。以下為ANDROID的主要特性1應(yīng)用程序框架支持組件的重用與替換。這樣我們可以把系統(tǒng)中不喜歡的應(yīng)用程序刪除,安裝我們喜歡的應(yīng)用程序。2DALVIK虛擬機(jī)專門為移動設(shè)備進(jìn)行了優(yōu)化。ANDROID應(yīng)用程序?qū)⒂蒍AVA編寫、編譯的類文件通過DX工具轉(zhuǎn)換成一種后綴名為DEX的文件來執(zhí)行。DALVIK虛擬機(jī)是基于寄存器的,相對于JAVA虛擬機(jī)速度要快很多。3內(nèi)部集成瀏覽器基于開源的WEBKIT引擎。有了內(nèi)置的瀏覽器,這將意味著WAP應(yīng)用的時代即將結(jié)束,真正的移動互聯(lián)網(wǎng)時代已經(jīng)來臨,手機(jī)就是一臺“小電腦”,可以在網(wǎng)上隨意遨游。4優(yōu)化的圖形庫包括2D和3D圖形庫,3D圖形庫基于OPENGLES10。強(qiáng)大的圖形庫給游戲開發(fā)帶來福音。在3G最為重要的的應(yīng)用莫過于手機(jī)上網(wǎng)和手機(jī)游戲。5SQLITE用作結(jié)構(gòu)化的數(shù)據(jù)存儲。6多媒體支持包括常見的音頻、視頻和靜態(tài)印象文件格式如MPEG4、H264、MP3、AAC、AMR、JGP、PNG、GIF。7GSM電話(依賴于硬件)。8藍(lán)牙(BLUETOOTH)、EDGE、3G、WIFI(依賴于硬件)。9照相機(jī)、GPS、指南針和加速度計(依賴于硬件)。10豐富的開發(fā)環(huán)境包括設(shè)備模擬器、調(diào)試工具、內(nèi)存及性能分析圖表和ECLIPSE集成的開發(fā)環(huán)境插件。GOOGLE提供了ANDROID開發(fā)包SDK,其中包含了大量的類庫和開發(fā)工具,并且針對ECLIPSE的可視化開發(fā)插件ADT。23ANDROID開發(fā)環(huán)境搭建為了在PC主機(jī)上得到ANDROID的開發(fā)環(huán)境,我們選擇在WINDOWS操作系統(tǒng)中進(jìn)行對ANDROID開發(fā)環(huán)境的搭建,具體步驟如下1JDK安裝首先下載JDK,按照提示安裝成功后,最重要的是進(jìn)行環(huán)境變量的配置,步驟如下我的電腦屬性高級環(huán)境變量系統(tǒng)變量中添加以下環(huán)境變量JAVA_HOME值為CPROGRAMFILESJAVAJDK16020(安裝JDK的目錄)CLASSPATH值為;JAVA_HOMELIBTOOLSJAR;JAVA_HOMELIBDTJAR;JAVA_HOMEBIN;PATH值添加CPROGRAMFILESJAVAJDK16020BIN;2ECLIPSE安裝可下載一個綠色版的ECLIPSE,無需安裝,和安裝版一樣都能為ANDROID開發(fā)提供功能。3ANDROIDSDK安裝(1)在ANDROIDDEVELOPERS下載ANDROIDSDKR07WINDOWSZIP,下載完成后解壓到任意路徑。(2)在ANDROIDDEVELOPERS下載ANDROIDSDKR07WINDOWSZIP,下載完成后解壓到任意路徑。(3)運行SDKSETUPEXE,點擊AVAILABLEPACKAGES。如果沒有出現(xiàn)可安裝的包,請點擊SETTINGS,選中MISC中的“FORCEHTTPS/“這項,再點擊AVAILABLEPACKAGES。(4)選擇希望安裝的SDK及其文檔或者其它包,點擊INSTALLATIONSELECTED、ACCEPTALL、INSTALLACCEPTED,開始下載安裝所選包。在用戶變量中新建PATH值為ANDROIDSDK中的TOOLS絕對路徑。4ADT安裝(1)打開ECLIPSEIDE,進(jìn)入菜單中的“HELP“INSTALLNEWSOFTWARE“(2)點擊ADD按鈕,彈出對話框要求輸入NAME和LOCATIONNAME自己隨便取,LOCATION輸入HTTP/DLSSLGOOGLECOM/ANDROID/ECLIPSE。如下圖所示(3)確定返回后,在WORKWITH后的下拉列表中選擇我們剛才添加的ADT,我們會看到下面出有DEVELOPERTOOLS,展開它會有ANDROIDDDMS和ANDROIDDEVELOPMENTTOOL,勾選他們。然后就是按提示一步一步NEXT。(4)完成之后,選擇WINDOWPREFERENCES在左邊的面板選擇ANDROID,然后在右側(cè)點擊BROWSE并選中SDK路徑,本機(jī)為DANDROIDDEVELOPANDROIDSDKWINDOWS(5)點擊APPLY、OK。配置完成。5創(chuàng)建AVD為使ANDROID應(yīng)用程序可以在模擬器上運行,必須創(chuàng)建AVD。1在ECLIPSE中。選擇WINDOWSANDROIDSDKANDAVDMANAGER2點擊左側(cè)面板的VIRTUALDEVICES,再右側(cè)點擊NEW3填入NAME,選擇TARGET的API,SDCARD大小任意,SKIN隨便選,HARDWARE目前保持默認(rèn)值4點擊CREATEAVD即可完成創(chuàng)建AVD24ANDROIDSQLITE數(shù)據(jù)庫簡介241關(guān)系型數(shù)據(jù)庫SQLITE每個應(yīng)用程序都要使用數(shù)據(jù),ANDROID應(yīng)用程序也不例外,ANDROID使用開源的、與操作系統(tǒng)無關(guān)的SQL數(shù)據(jù)庫SQLITE。SQLITE第一個ALPHA版本誕生于2000年5月,它是一款輕量級數(shù)據(jù)庫,它的設(shè)計目標(biāo)是嵌入式的,占用資源非常的低,只需要幾百K的內(nèi)存就夠了。SQLITE已經(jīng)被多種軟件和產(chǎn)品使用,MOZILLAFIREFOX就是使用SQLITE來存儲配置數(shù)據(jù)的,ANDROID和IPHONE都是使用SQLITE來存儲數(shù)據(jù)的。SQLITE體系結(jié)構(gòu)圖如下圖21SQLITE體系結(jié)構(gòu)圖編譯器包括TOKENIZER(詞法分析器)、PARSER(語法分析器)、CODEGENERATOR(代碼產(chǎn)生器)。他們協(xié)同處理文本形式的結(jié)構(gòu)化查詢語句。后端由BTREE,PAGER,OSINTERFACE組成。BTREE的職責(zé)是負(fù)責(zé)排序,維護(hù)多個數(shù)據(jù)庫頁之間錯綜復(fù)雜的關(guān)系,將頁面組織成樹狀結(jié)構(gòu),頁面就是樹的葉子。PAGER負(fù)責(zé)傳輸,根據(jù)BTREE的請求從磁盤讀取頁面或者寫入頁面。公共服務(wù)中有各種實用的功能比如內(nèi)存分配、字符串比較,UNICODE轉(zhuǎn)換等。242SQLITE數(shù)據(jù)庫特征SQLITE數(shù)據(jù)庫是DRICHARDHIPP用C語言編寫的開源嵌入式數(shù)據(jù)庫,支持的數(shù)據(jù)庫大小為2TB。它具有如下特征1、輕量級SQLITE和CS模式的數(shù)據(jù)庫軟件不同,它是一個非常輕量級自包含LIGHTWEIGHTANDSELFCONTAINED的DBMS,它是進(jìn)程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器。它可移植性好,很容易使用,使用SQLITE一般只需要帶上它的一個動態(tài)庫,就可以享受它的全部功能。而且那個動態(tài)庫的尺寸也相當(dāng)小,高效而且可靠。2、獨立性SQLITE一個非常流行的嵌入式數(shù)據(jù)庫,核心引擎本身不依賴第三方軟件,使用它也不需要“安裝”,SQLITE嵌入到使用它的應(yīng)用程序中,它們共用相同的進(jìn)程空間,而不是單獨的一個進(jìn)程。從外部看,它并不像一個RDBMS,但在進(jìn)程內(nèi)部,它卻是完整的,自包含的數(shù)據(jù)庫引擎。這樣的好處就是在你的程序內(nèi)部不需要網(wǎng)絡(luò)配置,也不需要管理。因為客戶端和服務(wù)器在同一進(jìn)程空間運行。3、隔離性SQLITE數(shù)據(jù)庫中的所有信息(比如表、視圖、觸發(fā)器)都包含在一個文件內(nèi),方便管理和維護(hù)。4、跨平臺SQLITE數(shù)據(jù)庫支持大部分操作系統(tǒng),除了我們在電腦上使用的操作系統(tǒng)之外,很多手機(jī)操作系統(tǒng)同樣可以運行,比如ANDROID、WINDOWSMOBILE、SYMBIAN、PALM等。5、多語言接口SQLITE數(shù)據(jù)庫支持很多語言編程接口,比如CC、JAVA、PYTHON、DOTNET、RUBY、PERL等,得到更多開發(fā)者的喜愛。6、安全性SQLITE數(shù)據(jù)庫通過數(shù)據(jù)庫級上的獨占性和共享鎖來實現(xiàn)獨立事務(wù)處理。這意味著多個進(jìn)程可以在同一時間從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個可以寫入數(shù)據(jù)。在某個進(jìn)程或線程向數(shù)據(jù)庫執(zhí)行寫操作之前,必須獲得獨占鎖定。在發(fā)出獨占鎖定后,其他的讀或?qū)懖僮鲗⒉粫侔l(fā)生。243SQLITE數(shù)據(jù)庫擴(kuò)展類1擴(kuò)展SQLITEOPENHELPERANDROID不自動提供數(shù)據(jù)庫。在ANDROID應(yīng)用程序中使用SQLITE,必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建表、索引,填充數(shù)據(jù)。ANDROID提供了SQLITEOPENHELPER幫助你創(chuàng)建一個數(shù)據(jù)庫,你只要繼承SQLITEOPENHELPER類,就可以輕松的創(chuàng)建數(shù)據(jù)庫。SQLITEOPENHELPER類根據(jù)開發(fā)應(yīng)用程序的需要,封裝了創(chuàng)建和更新數(shù)據(jù)庫使用的邏輯。SQLITEOPENHELPER的子類,至少需要實現(xiàn)三個方法構(gòu)造函數(shù),調(diào)用父類SQLITEOPENHELPER的構(gòu)造函數(shù)ONCREATE()方法;/TODO創(chuàng)建數(shù)據(jù)庫后,對數(shù)據(jù)庫的操作ONUPGRAGE方法。/TODO更改數(shù)據(jù)庫版本的操作當(dāng)你完成了對數(shù)據(jù)庫的操作(例如你的ACTIVITY已經(jīng)關(guān)閉),需要調(diào)用SQLITEDATABASE的CLOSE方法來釋放掉數(shù)據(jù)庫連接。操作數(shù)據(jù)庫的最佳實踐是創(chuàng)建一個輔助類,例如聯(lián)系人模塊CLASSCONTACTSDATABASEHELPEREXTENDSSQLITEOPENHELPER2CURSOR類ANDROID使用CURSOR類返回一個需要的值,CURSOR作為一個指針從數(shù)據(jù)庫查詢返回結(jié)果集,使用CURSOR允許ANDROID更有效地管理它們需要的行和列,你使用CONTENTVALUES對象存儲鍵/值對,它的PUT方法允許你插入不同數(shù)據(jù)類型的鍵值。3數(shù)據(jù)類型SQLITE和其他數(shù)據(jù)庫最大的不同就是對數(shù)據(jù)類型的支持,創(chuàng)建一個表時,可以在CREATETABLE語句中指定某列的數(shù)據(jù)類型,但是你可以把任何數(shù)據(jù)類型放入任何列中。當(dāng)某個值插入數(shù)據(jù)庫時,SQLITE將檢查它的類型。如果該類型與關(guān)聯(lián)的列不匹配,則SQLITE會嘗試將該值轉(zhuǎn)換成該列的類型。如果不能轉(zhuǎn)換,則該值將作為其本身具有的類型存儲。比如可以把一個字符串(STRING)放入INTEGER列。SQLITE稱這為“弱類型”(MANIFESTTYPING)。244SQLITE數(shù)據(jù)庫操作1創(chuàng)建和打開數(shù)據(jù)庫在ANDROID中創(chuàng)建和打開一個數(shù)據(jù)庫都可以使用OPENORCREATEDATABASE方法來實現(xiàn),因為它會自動去檢測是否存在這個數(shù)據(jù)庫,如果存在則打開,如果不存在則創(chuàng)建一個數(shù)據(jù)庫創(chuàng)建成功則返回一個SQLITEDATEBASE對象,否則拋出異常FILENOTFOUNDEXCEPTION。打開或者創(chuàng)建PATH文件所代表的SQLITE數(shù)據(jù)庫OPENORCREATEDATABASESTRINGPATH,SQLITEDATABASECURSORFACTORY打開或者創(chuàng)建FILE文件所代表的SQLITE數(shù)據(jù)庫OPENORCREATEDATABASEFILEFILE,SQLITEDATABASECURSORFACTORY2創(chuàng)建表通過EXECSQL方法來執(zhí)行一條SQL語句。/定義建表語句STRINGSQL“CREATETABLE表名(列名,列名,)“/執(zhí)行建表語句DBEXECSQLSQL創(chuàng)建表的時候總要確定一個主鍵,這個字段是64位整型,別名_ROWID。其特點就是自增長功能。當(dāng)?shù)竭_(dá)最大值時,會搜索該字段未使用的值(某些記錄被刪除_ROWID會被回收),所以要唯一嚴(yán)格增長的自動主鍵必須加入關(guān)鍵字AUTOINCREMENT。3刪除表MSQLITEDATABASE“DROPTABLE表名“4修改數(shù)據(jù)1插入記錄SQLITEDATABASE的INSERT方法的簽名為LONGINSERT(STRINGTABLE,STRINGNULLCOLUMNHACK,CONTENTVALUESVALUES)。方法的參數(shù)說明如下TABLE想插入數(shù)據(jù)的表名。NULLCOLUMNHACK代表強(qiáng)行插入NULL值的數(shù)據(jù)列的列名。當(dāng)VALUES參數(shù)為NULL或不包含任何KEYVALUE對時該參數(shù)有效。VALUES代表一行記錄的數(shù)據(jù)。INSERT方法要求把數(shù)據(jù)都打包到CONTENTVALUES中,CONTENTVALUES其實就是一個MAP,KEY值是字段名稱,VALUE值是字段的值。它提供了PUT(STRINGKEY,XXXVALUE)(其中KEY為數(shù)據(jù)列的列名)方法用于存入數(shù)據(jù),GETASXXX(STRINGKEY)用于取出數(shù)據(jù)。通過CONTENTVALUES的PUT方法就可以把數(shù)據(jù)放到CONTENTVALUES對象中,然后插入到表中去。具體實現(xiàn)如下CONTENTVALUESVALUESNEWCONTENTVALUESVALUESPUTTABLE_NUM,1VALUESPUTTABLE_DATA,“測試數(shù)據(jù)庫數(shù)據(jù)“DBINSERT表名,NULL,VALUES不管第三個參數(shù)是否包含數(shù)據(jù),執(zhí)行INSERT()方法總會添加一條記錄,如果第三參數(shù)為空,會添加一條除主鍵之外其他字段值都為NULL的記錄。/同樣可以使用EXECSQL方法來執(zhí)行一條“插入“的SQL語句STRINGSQL“INSERTINTO表名(列名,)VALUES(值,)“DBEXECSQLSQL(2)更新記錄SQLITEDATABASE的UPDATE方法的簽名為UPDATE(STRINGTABLE,CONTENTVALUESVALUES,STRINGWHERECLAUSE,STRINGWHEREARGS)。方法的參數(shù)說明如下TABLE想更新數(shù)據(jù)的表名。VALUES代表想要更新的數(shù)據(jù)。WHERECLAUSE滿足該WHERECLAUSE子句的記錄將會被更新。WHEREARGS用于為WHERECLAUSE子句傳入?yún)?shù)。該方法返回受此UPDATE語句影響的記錄的條數(shù)。具體實現(xiàn)如下CONTENTVALUESVALUESNEWCONTENTVALUESVALUESPUTTABLE_NUM,3VALUESPUTTABLE_DATA,“修改后數(shù)據(jù)“DBUPDATE表名,VALUES,“NUM“ROWID,NULL/同樣可以使用EXECSQL方法來執(zhí)行一條“更新”的SQL語句STRINGSQL“UPDATE表名SET列名XXXWHEREXXXDBEXECSQLSQLUPDATE表名SET列名XXXWHERE條件(3)刪除記錄SQLITEDATABASE的DELETE方法的簽名為DELETE(STRINGTABLE,STRINGWHERECLAUSE,STRINGWHEREARGS)。方法的參數(shù)說明如下TABLE想刪除數(shù)據(jù)的表名。WHERECLAUSE滿足該WHERECLAUSE子句的記錄將會被刪除。WHEREARGS用于為WHERECLAUSE子句傳入?yún)?shù)。該方法返回受此DELETE語句影響的記錄的條數(shù)。具體實現(xiàn)方法如下/要刪除數(shù)據(jù)可以使用DELETE方法MSQLITEDATABASEDELETE表名,“WHERE_ID“0,NULL/也可以通過EXECSQL方法執(zhí)行SQL語句刪除數(shù)據(jù)MSQLITEDATABASEEXECSQL“DELETEFROM表名WHERE條件“4查詢數(shù)據(jù)SQLITEDATABASE的QUERY方法的簽名為CURSORQUERY(BOOLEANDISTINCT,STRINGTABLE,STRINGCOLUMNS,STRINGWHERECLAUSE,STRINGWHEREARGS,STRINGGROUPBY,STRINGHAVING,STRINGORDERBY,STRINGLIMIT)。方法的參數(shù)說明如下DISTINCT指定是否去除重復(fù)記錄。TABLE執(zhí)行查詢數(shù)據(jù)的表名。COLUMNS要查詢出來的列名。相當(dāng)于SELECT語句SELECT關(guān)鍵字后面的部分。WHERECLAUSE查詢條件子句,相當(dāng)于SELECT語句WHERE關(guān)鍵字后面的部分,在條件子句中允許使用占位符“”。WHEREARGS用于為WHERECLAUSE子句中占位符傳入?yún)?shù)值,值在數(shù)組中多個位置與占位符在語句中的位置必須一致,否則就會有異常。GROUPBY用于控制分組。相當(dāng)于SELECT語句GROUPBY關(guān)鍵字后面的部分。HAVING用于對分組進(jìn)行過濾。相當(dāng)于SELECT語句HAVING關(guān)鍵字后面的部分。ORDERBY用于對記錄進(jìn)行排序。相當(dāng)于SELECT語句ORDERBY關(guān)鍵字后面的部分。LIMIT用于進(jìn)行分頁,相當(dāng)于SELECT語句LIMIT關(guān)鍵字后面的部分。該方法返回CURSOR對象。當(dāng)應(yīng)用程序需要進(jìn)行條件不確定的查詢時,使用QUERY方法可以避免手動拼接SQL語句。具體實現(xiàn)方法用案例給出,如下所示/要查詢PERSON表中人名以“張”開頭的記錄CURSORCURSORDBQUERY“PERSON”,NEWSTRING“_ID,NAME,AGE”,“NAMELIKE”,NEWSTRING“張”,NULL,NULL,“PERSONIDDESC”,“5,10”;/處理結(jié)果集CURSORCLOSE();綜上所述,使用SQLITEDATABASE進(jìn)行數(shù)據(jù)庫操作的步驟如下1獲取SQLITEDATABASE對象,他代表了與數(shù)據(jù)庫的連接。2調(diào)用SQLITEDATABASE的方法來執(zhí)行SQL語句。3操作SQL語句的執(zhí)行結(jié)果,比如用SIMPLECURSORADAPTER封裝CURSOR。4關(guān)閉SQLITEDATABASE,回收資源。3流程介紹與概要設(shè)計31游戲流程介紹根據(jù)聯(lián)系人對戰(zhàn)游戲的游戲規(guī)則,本設(shè)計擬出游戲的大致流程如圖31所示圖31聯(lián)系人對戰(zhàn)游戲流程圖32可行性分析321操作可行性對于一個游戲來說,其操作可行性是它成功與否的關(guān)鍵,應(yīng)作為游戲設(shè)計的首要考慮因素。在以往的許多著名游戲中,游戲操作可行性經(jīng)常成為玩家討論的焦點,以此可見,一款游戲的操作可行性直接關(guān)系著對玩家的吸引力。游戲操作方法應(yīng)設(shè)計合理。操作方法符合用戶的操作習(xí)慣,簡單直觀。并且在進(jìn)入游戲以及點擊按鈕時通過彈出框進(jìn)行游戲操作提示,這不僅保證了游戲能順利進(jìn)行,讓玩家感受到游戲的可玩性。322技術(shù)可行性ANDROID的開發(fā)利用是基于JAVA語言的,而JDK是JAVA程序進(jìn)行開發(fā)時必需含有的開發(fā)包。在ANDROID應(yīng)用程序開發(fā)前需先搭建起合適的開發(fā)環(huán)境,在這些開發(fā)環(huán)境中作為基于JAVA的可擴(kuò)展整合型平臺的ECLIPSE則是個不錯的選擇。ECLIPSE不僅是款免費并且優(yōu)秀的開源IDE,在安裝了GOOGLE公司提供的ANDROID平臺開發(fā)插件ADT后即可充當(dāng)ANDROID開發(fā)平臺。ANDROID平臺為開發(fā)人員提供了源碼開放的SDK(軟件開發(fā)包),其中包含有ANDROID平臺應(yīng)用程序開發(fā)所必要的工具和各組件API。在這些插件的配合下,可以實現(xiàn)從企業(yè)級JAVA應(yīng)用平滑過度到智能機(jī)終端ANDROID游戲的開發(fā)。ECLIPSE還是很好的動畫游戲制作軟件。鑒于其具有面向?qū)ο缶幊痰奶攸c,大大提升了程序開發(fā)效率。而且ECLIPSE自帶著一些常用的組件,這為我們的開發(fā)提供了很大的便利。綜上所得,此次系統(tǒng)開發(fā)在技術(shù)上是可行的。323社會可行性聯(lián)系人對戰(zhàn)游戲規(guī)則很簡單,上手極易,老少皆宜;畫面搞怪詼諧,游戲節(jié)奏輕松歡快,廣受玩家的喜愛;由于本游戲是將手機(jī)聯(lián)系人作為游戲角色進(jìn)行對戰(zhàn),在一定程度增加了游戲的搞怪性,極富吸引力。由其受歡迎的人群范圍之廣泛外加其多樣的戰(zhàn)斗方式能不斷地給玩家?guī)硇迈r感得知,其具有社會可行性。33系統(tǒng)概要設(shè)計本設(shè)計參考了聯(lián)系人對戰(zhàn)游戲流程圖(圖31)按照自頂向下的設(shè)計方式將游戲分為以下模塊進(jìn)行設(shè)計,如圖32所示圖32聯(lián)系人擂臺戰(zhàn)游戲模塊劃分331界面布局模塊由于本課題的題材是一款游戲,對于游戲的界面以及一些基本控件有必要介紹一下。本系統(tǒng)一共有四個界面一個選擇界面,一個游戲界面,一個排行榜顯示界面和一個設(shè)置界面,基本的控件有文本框,進(jìn)度條,下拉列表,網(wǎng)格視圖,按鈕,圖片視圖等。下面簡單介紹下它們的作用文本框主要是用來顯示一些文本,這些文本基本是描述文本框所在位置的功能。下拉列表主要用在了本機(jī)聯(lián)系人的獲取,以及游戲積分的排行顯示上。按鈕是兩個界面的鏈接樞紐,在第一個選擇界面按下確定按鈕,會跳轉(zhuǎn)到游戲界面。在游戲界面也設(shè)置了一個按鈕,主要是給玩家提供“重新游戲”的機(jī)會。圖片視圖只要用來顯示圖片,在游戲界面用圖片視圖顯示圖片,供玩家游戲。332游戲角色模塊本游戲的游戲角色是基于手機(jī)聯(lián)系人姓名獲取的。游戲開始之前,在獲取權(quán)限的基礎(chǔ)上。玩家可以通過下拉框選擇手機(jī)已有聯(lián)系人的姓名作為游戲角色進(jìn)行對戰(zhàn)。角色擁有生命值和攻擊值兩種基本屬性。攻擊值是決定傷害值的關(guān)鍵。傷害值會對對方造成1比1的生命值損耗。角色的生命值和攻擊值都是在選定對戰(zhàn)雙方,開始游戲后隨機(jī)賦予的。這個隨機(jī)值是基于一個基數(shù)所計算的隨機(jī)值,這樣就能在最大程度上使得雙方屬性平衡,增加游戲的可玩性。角色攻擊所造成的傷害也是在攻擊的基礎(chǔ)上取得的隨機(jī)數(shù)。這種隨機(jī)賦值的方法能增加游戲的趣味性和未知性,又不會影響游戲的公平性。333戰(zhàn)斗文案模塊本游戲的戰(zhàn)斗過程顯示是以文字的方式顯示在界面中,本創(chuàng)意來源于籃球賽事的文字現(xiàn)場直播。不同的是,整個戰(zhàn)斗過程是對SQLITE數(shù)據(jù)庫表中數(shù)據(jù)的操作,主要涉及數(shù)據(jù)的查詢,插入和更新操作。戰(zhàn)斗文案以字符串的格式分為動作和結(jié)果預(yù)編譯好,寫在數(shù)據(jù)庫插入語句中。進(jìn)入游戲時,在創(chuàng)建數(shù)據(jù)庫,建表的過程中會直接存入數(shù)據(jù)庫相應(yīng)的表中。剩下的就是對數(shù)據(jù)的讀取和顯示操作了。戰(zhàn)斗文案的顯示與按鈕關(guān)聯(lián)。文案根據(jù)類型的不同劃分為四種,通過點擊不同的攻擊按鈕實現(xiàn)從不同的表中查詢結(jié)果并顯示。從數(shù)據(jù)庫表中讀取的數(shù)據(jù)也具有隨機(jī)性,即點擊一種攻擊方式按鈕,角色的攻擊方式是未知的,通過在數(shù)據(jù)庫中隨機(jī)讀取數(shù)據(jù)實現(xiàn)。334游戲排行模塊在一局游戲結(jié)束后,勝方會以彈出框的形式提示并保存勝局信息。因為本游戲不基于網(wǎng)絡(luò),不實現(xiàn)從服務(wù)器調(diào)用獲取數(shù)據(jù),所以,角色勝局信息也是存入本機(jī)數(shù)據(jù)庫中。在SQLITE數(shù)據(jù)庫中,會有一個相應(yīng)的表可以存入勝利一方的姓名和所勝局?jǐn)?shù)。所勝局?jǐn)?shù)會隨游戲進(jìn)行不斷更新。最終排序顯示在排行榜頁面中。在這里涉及到數(shù)據(jù)的查詢判斷,插入,以及更新操作。首先判斷表中所勝玩家的數(shù)據(jù)是否存在。存在則更新勝局?jǐn)?shù)。不存在則存入姓名和勝局?jǐn)?shù)。335游戲設(shè)置模塊在游戲中,玩家可以選擇游戲背景音樂的播放或停止,以及音樂音量大小的調(diào)節(jié)。這一點在游戲設(shè)置界面中可以實現(xiàn)。在設(shè)置界面中有兩個開關(guān)按鈕可以點擊來打開或者關(guān)閉游戲背景音樂。還有一個拖動條,可以實現(xiàn)對音樂音量的大小調(diào)節(jié)。較為明了,并且操作簡單。336游戲?qū)崿F(xiàn)模塊在進(jìn)入游戲后,游戲會首先會請求獲取聯(lián)系人信息的權(quán)限。獲得權(quán)限后,選擇游戲按鈕進(jìn)入游戲界面。在游戲主界面中,通過下拉框先選擇手機(jī)已有聯(lián)系人姓名。點擊PK按鈕后,會對聯(lián)系人所代表的角色進(jìn)行生命和攻擊的賦值,玩家生命狀態(tài)會實時通過進(jìn)度條顯示,如有一方生命值耗盡,結(jié)束戰(zhàn)斗,宣布勝方。34系統(tǒng)風(fēng)格定位經(jīng)過多次風(fēng)格替換嘗試,最終將該系統(tǒng)風(fēng)格定位為搞怪惡搞風(fēng)格,其原因有下搞怪的風(fēng)格能吸引玩家,風(fēng)趣的戰(zhàn)斗方式會使其覺得新奇,這將大大拓寬了用戶群范圍和規(guī)模,提升該系統(tǒng)的實用性;另一方面,搞怪風(fēng)格能緩解玩家的心理壓力,為玩家快節(jié)奏的現(xiàn)代生活營造出一種輕松愉快的氛圍。35小結(jié)本章從操作、技術(shù)、社會三方面對系統(tǒng)的可行性進(jìn)行了詳細(xì)分析,并結(jié)合了系統(tǒng)的需求分析初步設(shè)計了系統(tǒng),其中還包括了系統(tǒng)的基本流程設(shè)計以及模塊的劃分與設(shè)計,并最終定位了搞怪的系統(tǒng)風(fēng)格。這些為下一章的系統(tǒng)的實現(xiàn)打下了基礎(chǔ)。4系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)41系統(tǒng)工程的創(chuàng)建進(jìn)入開發(fā)環(huán)境后,創(chuàng)建一個ANDROID工程CONTACTRINGAPP。如圖41所示圖41工程架構(gòu)圖對上述工程架構(gòu)介紹如下(1)SRC目錄主要是完成工程的JAVA代碼編寫。(2)GEN目錄系統(tǒng)自動生成的源代碼目錄,其中含有非常重要的RJAVA文件,它所包含的每一種靜態(tài)內(nèi)部類都對應(yīng)著相應(yīng)的一種資源。(3)ASSETS目錄DATA資源目錄(4)BIN目錄該目錄用于存放生成的目標(biāo)文件,如JAVA的二進(jìn)制文件,資源打包文件,DAVLIK虛擬機(jī)的可執(zhí)行文件(DEX后綴)等。(5)RES目錄資源文件夾。其中LAYOUT存放界面布局文件,VALUES目錄下則存放各種XML格式的資源文件,DRAWABLE中存放了工程需要的圖像資料,RAW中存放著音樂資料。(6)ANDROIDMANIFESTXML文件是ANDROID項目的系統(tǒng)清單文件,它用于控制ANDROID應(yīng)用的名稱,圖標(biāo),訪問權(quán)限等整體屬性。除此之外ANDROID應(yīng)用的ACTIVITY,SERVICE,CONTENTPROVIDER,BROADCASTRECEVIER這四大組件都需要在該文件中配置。其中各類或接口的說明如下(1)MAINACTIVITY游戲的主界面ACTIVITY,包含三個按鈕和游戲LOGO,分別為“過上幾招”,“戰(zhàn)績排行”,“設(shè)置”。在該類中完成對三個界面的選擇跳轉(zhuǎn)以及設(shè)置鍵彈出的開發(fā)者信息。(2)FIGHTACTIVITY顧名思義,是擂臺戰(zhàn)的游戲界面。在該ACTIVITY中進(jìn)行游戲的主要操作方法和一些數(shù)據(jù)庫查詢現(xiàn)實操作,執(zhí)行組件包括SPINNER,TEXTVIEW,BUTTON,EDITTEXT,PROGRESSBAR等。(3)PAIHANGACTIVITY戰(zhàn)績排行的顯示界面,主要用于在LISTVIEW中顯示經(jīng)過戰(zhàn)斗的玩家勝局信息。是通過從數(shù)據(jù)庫相應(yīng)的表中查詢獲取的并對數(shù)據(jù)進(jìn)行了排行。執(zhí)行組件包括LISTVIEW。(4)PLAYER類該類中是對角色生命值和攻擊值的初始化。(5)SETTINGACTIVITY對游戲進(jìn)行音樂開關(guān)和音量大小的基本設(shè)置。執(zhí)行組件包括SEEKBAR,BUTTON,TEXTVIEW。(6)MYSQLITEOPENHELPER類是對數(shù)據(jù)庫操作的幫助類,里面是數(shù)據(jù)庫的建表語句,在程序加載時執(zhí)行,可以較為方便地對數(shù)據(jù)庫進(jìn)行操作。以及游戲數(shù)據(jù)的查詢和更新操作。(7)MUSICSERVICE游戲的背景音樂操作類,包含游戲的播放,停止等方法,用以在其他類中調(diào)用,比如設(shè)置。42界面UI設(shè)計421主要界面布局主要界面布局是在MAINXML中進(jìn)行的,采用的是垂直線性布局,使用的組件包括一個IMAGEVIEW和三個BUTTON,IMAGEVIEW用以顯示游戲LOGO,不可操作。三個BUTTON分別是游戲,排行和設(shè)置。為了能直觀的感受到按鈕的點擊狀態(tài),BUTTON的背景是自定義SELECTOR的XML文件,其中設(shè)置了按鈕的按下和釋放的不同狀態(tài)。所完成的主界面效果如圖41顯示圖42主界面效果圖422游戲界面布局游戲界面布局采用REALATIVELAYOUT相對布局,左右上角分別是要選取的兩個聯(lián)系人姓名,用SPINNER下拉框顯示,下面分別是生命和攻擊值表示在TEXTVIEW上,點擊PK按鈕后會有所顯示,然后是代表雙方生命值的進(jìn)度條,下面是游戲操作的按鈕,醒目的PK按鈕位于正中間,攻擊方式按鈕分布在四周,在按鈕下面用EDITTEXT顯示文字戰(zhàn)斗過程。所完成的游戲界面效果圖如圖43所示圖43游戲界面效果圖43游戲功能實現(xiàn)游戲代碼具體運行流程是這樣的游戲啟動后,啟動MAINACTIVITY,接著加載MAINXML初始化選擇界面,在完成游戲界面選擇后,ACTIVITY跳轉(zhuǎn)進(jìn)入FIGHTACTIVITY,即游戲界面,并加載ACTIVITY_FIGHTXML文件初始化游戲界面,然后根據(jù)界面上提示信息,選擇聯(lián)系人姓

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論