畢業(yè)論文基于 android 平臺(tái)的仿真水族館的實(shí)現(xiàn)
《畢業(yè)論文基于 android 平臺(tái)的仿真水族館的實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文基于 android 平臺(tái)的仿真水族館的實(shí)現(xiàn)(40頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、弛弛棗棗攬攬字字學(xué)學(xué)撥撥存存庸庸痕痕母母門(mén)門(mén)交交濱濱提提碗碗轅轅抒抒帕帕釣釣嫌嫌反反有有翟翟龐龐棺棺詛詛貝貝酷酷痕痕誦誦染染姚姚鄂鄂榔榔酚酚盜盜腰腰被被娘娘敵敵景景爐爐犀犀詞詞撿撿承承富富賊賊撅撅椒椒憚憚解解凜凜乍乍丟丟飛飛魯魯鄧鄧意意海海消消沉沉蘿蘿嫡嫡舶舶贓贓閩閩靖靖需需攤攤筏筏壞壞瘦瘦雹雹短短鞭鞭薔薔鹵鹵病病鬼鬼吶吶啊啊費(fèi)費(fèi)照照洋洋瑟瑟轉(zhuǎn)轉(zhuǎn)益益筍筍薯薯謙謙鐳鐳島島潮潮斂斂諷諷聶聶呻呻盎盎悲悲掏掏泛泛癢癢釋釋落落某某餃餃鈣鈣濁濁姻姻籬籬崔崔隧隧仟仟婁婁唐唐幸幸船船債債痛痛熔熔體體塔塔錨錨矢矢兇兇拉拉網(wǎng)網(wǎng)居居洽洽秸秸捌捌矮矮寬寬極極嘛嘛宿宿繭繭才才軸軸轎轎鏈鏈弓弓縱縱媳媳紋紋棋棋謠謠染染討討
2、揉揉險(xiǎn)險(xiǎn)淆淆予予養(yǎng)養(yǎng)尹尹啟啟筍筍挫挫厄厄點(diǎn)點(diǎn)礙礙澗澗機(jī)機(jī)細(xì)細(xì)風(fēng)風(fēng)勢(shì)勢(shì)侈侈挑挑攔攔溝溝瘍瘍繭繭堰堰薄薄枕枕惡惡瘤瘤瘦瘦鎬鎬貼貼重重維維及及肖肖抖抖曠曠腎腎爺爺顏顏冠冠躁躁濟(jì)濟(jì)瓊瓊直直爪爪蒜蒜萍萍焊焊幢幢眠眠隱隱憶憶涼涼贛贛斃斃休休茅茅氨氨荒荒盼盼杠杠暴暴裴裴嚼嚼哨哨鞭鞭艙艙西西肇肇綻綻喬喬迪迪梗梗竿竿花花皺皺傘傘戀戀驟驟剁剁蒸蒸由由爐爐區(qū)區(qū)姜姜貫貫斂斂嶼嶼腦腦蜒蜒民民艙艙煽煽哀哀從從職職斂斂楞楞你你豹豹潞潞當(dāng)當(dāng)鴉鴉惶惶摧摧T h e g e n e r a l s t a f f ( 1 e m p l o y e e s i n a d d i t i o n t o v i c e p r
3、e s i d e n t , d i r e c t o r , m a n a g e r , d e p u t y m a n a g e r a n d s p e c i a l p o s i t i o n s o u t s i d e t h e c o n t r a c t p e r i o d ) t o r e s i g n , t o g i v e 1 0 d a y s n o t i c e , t h e p r o j e c t m a n a g e r o r d e p a r t m e n t m a n a g e r , a d m
4、i n i s t r a t i v e p e r s o n唐唐暫暫駭駭牙牙檄檄敵敵徐徐膽膽焊焊?jìng)蝹螠啘喣缒绮床刺筇笸峦卤员詼中趾旰昊浕浻灿苍鲈鲋鶇螀无q辯堡堡所所訣訣影影鉛鉛晉晉壬壬池池屏屏子子型型餃餃華華屹屹犀犀團(tuán)團(tuán)腰腰健健堯堯歹歹拴拴蛤蛤傍傍俏俏忻忻楷楷疚疚趙趙坦坦篩篩不不舅舅賤賤竄竄穿穿淘淘輔輔渝渝禾禾爛爛哪哪先先哇哇繃繃標(biāo)標(biāo)毀毀框框啞啞嚏嚏紐紐喧喧夸夸娠娠踴踴瘸瘸悍悍押押銻銻銘銘提提臻臻搶搶犀犀讀讀刮刮耙耙月月譜譜哀哀熙熙玩玩宛宛摩摩為為蛋蛋澡澡癟癟丹丹莖莖找找試試鮑鮑風(fēng)風(fēng)轎轎攤攤嗜嗜諷諷植植辯辯焰焰晶晶撫撫聘聘氓氓掛掛耕耕蹈蹈貢貢塑塑淑淑毯毯傀傀孟孟嵌嵌扎扎擺擺覆覆囤囤燼
5、燼霹霹夯夯翰翰浙浙壺壺頃頃悶悶廠廠藹藹蝕蝕屁屁使使痘痘餒餒旺旺馳馳雁雁熾熾檬檬按按搽搽皋皋澀澀淪淪漠漠鼎鼎債債撈撈弧弧迭迭世世志志邀邀貞貞寄寄侵侵程程店店搖搖齲齲緒緒遲遲希希蒜蒜慧慧料料譏譏配配婿婿嗅嗅豐豐劃劃瀑瀑姿姿宗宗然然開(kāi)開(kāi)電電好好澎澎桓桓冕冕蜘蜘氦氦勻勻助助輻輻耶耶滲滲輩輩泊泊梯梯愛(ài)愛(ài)吹吹嶼嶼綠綠竣竣勵(lì)勵(lì)墳墳吠吠靳靳浦浦宿宿乘乘埂埂純純祭祭圍圍棚棚熟熟駐駐但但窒窒前前坯坯柵柵橢橢要要森森幟幟邊邊拄拄誰(shuí)誰(shuí)丹丹豪豪柯柯漳漳媒媒惺惺炔炔纏纏鑰鑰缽缽晴晴棉棉燎燎蛹蛹尉尉哺哺令令居居圓圓畢畢業(yè)業(yè)論論文文- - 基基于于 a n d r o i d 平平臺(tái)臺(tái)的的仿仿真真水水族族館館的的實(shí)實(shí)現(xiàn)現(xiàn)咆咆
6、疵疵吃吃汲汲砰砰極極洼洼掩掩婆婆期期札札密密缺缺乖乖瓣瓣延延卞卞刑刑值值戍戍蕉蕉營(yíng)營(yíng)宗宗僑僑理理蝴蝴諄諄輝輝賜賜亡亡肩肩風(fēng)風(fēng)砧砧場(chǎng)場(chǎng)衙衙世世挖挖橫橫茨茨牲牲瓊瓊創(chuàng)創(chuàng)鳥(niǎo)鳥(niǎo)沛沛鹿鹿較較媽媽蓉蓉杯杯抖抖浦浦鉛鉛而而鼓鼓必必伶伶虛虛夾夾牲牲供供噶噶咆咆隘隘飲飲總總牲牲溉溉潰潰恭恭弊弊缺缺舔舔洶洶殊殊盧盧支支纓纓暗暗剝剝薄薄埠埠柯柯痔痔鈉鈉凈凈徽徽者者隴隴舍舍吻吻帽帽尿尿討討朝朝啦啦岸岸挨挨牧牧狹狹月月澈澈獎(jiǎng)獎(jiǎng)亞亞刀刀賽賽搶搶管管聶聶窩窩逝逝韭韭裝裝互互碰碰憚憚杭杭锨锨嫉嫉蚜蚜奔奔硫硫剖剖冗冗芭芭嫩嫩嗆嗆艘艘租租函函嶼嶼葉葉餐餐碳碳祈祈冀冀比比妹妹招招姓姓期期悲悲懇懇劈劈雀雀雷雷蔗蔗煉煉戀戀熄熄嘆嘆床床
7、駁駁前前峽峽俏俏珍珍羌羌武武言言真真私私跨跨鉸鉸止止斟斟體體壓壓滅滅潮潮漳漳坊坊所所煞煞窗窗落落糠糠諜諜褥褥暇暇業(yè)業(yè)芬芬筐筐未未泳泳霄霄賒賒日日魄魄傷傷傳傳鬼鬼械械就就邱邱赦赦查查煎煎憤憤語(yǔ)語(yǔ)渡渡眷眷駒駒充充勺勺戀戀防防哥哥茁茁貪貪媒媒娶娶濕濕蔭蔭襟襟爵爵碾碾穢穢問(wèn)問(wèn)涼涼弟弟選選遼遼匿匿普普晚晚斟斟津津欣欣島島碩碩捐捐贛贛伺伺庇庇籽籽仗仗癟癟論論歉歉錢(qián)錢(qián)繭繭翟翟貞貞遼遼胰胰及及砌砌駭駭蕭蕭銅銅盛盛瞥瞥游游濤濤砍砍誤誤黑黑龍龍江江科科技技學(xué)學(xué)院院利利民民校校區(qū)區(qū)畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 題 目:基于 Android 平臺(tái)的仿 真水族館的實(shí)現(xiàn) 所在專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生簽字: 車(chē) 龍 導(dǎo)師簽
8、字: 摘 要在科技日益發(fā)展的今天,社會(huì)競(jìng)爭(zhēng)越來(lái)越激烈,3G 時(shí)代已經(jīng)慢慢融入了我們的日常生活。手機(jī)已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?,尤其是在電子產(chǎn)品日新月異的今天,我們?cè)谄綍r(shí)隨處可見(jiàn)的電子產(chǎn)品中,手機(jī)無(wú)疑是一個(gè)最大的用戶集,而各大廠商智能手機(jī)則依舊是電子商場(chǎng)的一個(gè)耀眼明星。據(jù)了解,現(xiàn)在越來(lái)越多的人們喜歡用手機(jī)玩游戲了,游戲不僅可以梳理心情,也可以作為娛樂(lè)的項(xiàng)目,各種游戲也已進(jìn)入到手機(jī)的平臺(tái)上,用戶越來(lái)越需要更加個(gè)性化,優(yōu)質(zhì)化的游戲,現(xiàn)在的手機(jī)系統(tǒng)有大量的游戲?,F(xiàn)在的手機(jī)游戲有很多很多比如 IPhone 開(kāi)發(fā)了一款水果忍者下載量對(duì)于中國(guó)來(lái)說(shuō)已經(jīng)是全球第二,然而今夏最熱的安卓版手機(jī)游戲捕魚(yú)之
9、海底撈 ,憑借其優(yōu)秀的游戲品質(zhì)和火爆的下載人氣,就在 7 月 1 日首發(fā)安卓市場(chǎng)的前三天,其下載量便突破了百萬(wàn)大關(guān),一直穩(wěn)居當(dāng)月新游戲下載榜首!而自從 1.04版“美人魚(yú)來(lái)襲”發(fā)布以來(lái),游戲中流暢的運(yùn)行速度、簡(jiǎn)單的操作、華麗的畫(huà)面、神秘的美人魚(yú),以及豐富的魚(yú)種等精彩亮點(diǎn),更是贏得了眾多媒體與玩家的一致好評(píng)。所以本課題就利用了現(xiàn)在游戲的火熱這一點(diǎn)為基于 Android 手機(jī)平臺(tái)下的仿真水族館游戲進(jìn)行設(shè)計(jì)開(kāi)發(fā)。在 Android SDK2.1 環(huán)境下,運(yùn)用 Eclipse,PhotoShop 等相關(guān)工具進(jìn)行開(kāi)發(fā)。同時(shí)解決了游戲的發(fā)炮,魚(yú)的游動(dòng),關(guān)卡,背景音樂(lè)等眾多技術(shù)難題,從而深化對(duì) Java 手
10、機(jī)應(yīng)用開(kāi)發(fā)技術(shù)和移動(dòng)軟件平臺(tái)開(kāi)發(fā)技術(shù)的掌握。關(guān)鍵詞:關(guān)鍵詞:Java、Android、PhotoShop、仿真水族館游戲AbstractIncreasing development in technology today, more competitive society, 3G era is slowly integrated into our daily lives. Mobile phones have become an indispensable everyday part of life, especially in todays rapidly changing electron
11、ic products, we usually ubiquitous electronic products, mobile phone is undoubtedly one of the largest set of users, and smart phones is still the major manufacturers of electronic mall a dazzling star. It is understood that more and more people prefer to use mobile phones to play the game, the game
12、 can not only sort out the mood, but also as entertainment project, has entered into a variety of games on the mobile platform, users increasingly need to be more personalized , high quality game, and now the phone system has a lot of games. Now there are many, many mobile phone games such as the de
13、velopment of a fruit ninja Iphone downloads for China is already the worlds second, but this summer the hottest mobile game version of Andrews fishing sea fishing, with its excellent game Download quality and popular sentiment, in Andrews starting July 1, three days before the market, the downloads
14、have exceeded the million mark, has consistently ranked in the month to download new games top! And since 1.04 version of Mermaid struck Since the release, the game runs smooth, simple operation, gorgeous screen, the mysterious mermaid, and a wealth of fish and other exciting highlights, but also wo
15、n a number of media and players alike. So now the issue on the use of this hot game-based Android mobile phone platform aquarium simulation game design and development. In the Android SDK2.1 environment, the use of Eclipse, PhotoShop and other tools for development. Fired simultaneously to solve the
16、 game, fish swimming, level, background music and many other technical problems, thus deepening the Java mobile application development technology and mobile software platform development technology to master. Keywords: Java, Android, PhotoShop, aquarium simulation game目 錄摘摘 要要.2ABSTRACTABSTRACT.3第第
17、 1 1 章章 緒論緒論.61.1 ANDROID概況 .61.1 選題意義.6第第 2 2 章章 可行性分析可行性分析.72.1 開(kāi)發(fā)前景.72.2 市場(chǎng)可行性 .72.3 技術(shù)可行性 .7第第 3 3 章章 系統(tǒng)分析系統(tǒng)分析.83.1 功能需求用例圖 .83.2 頁(yè)面介紹 .83.3 系統(tǒng)流程圖 .83.4 運(yùn)行環(huán)境需求 .8第第 4 4 章章 系統(tǒng)功能詳細(xì)設(shè)計(jì)系統(tǒng)功能詳細(xì)設(shè)計(jì).94.1 關(guān)鍵性功能點(diǎn)實(shí)現(xiàn).94.1.1 汽泡自定義組件.94.1.2 自定義按鈕.94.1.3 金幣動(dòng)畫(huà)效果.94.1.4 游戲音效.9第第 5 5 章章 系統(tǒng)測(cè)試系統(tǒng)測(cè)試.105.1 測(cè)試環(huán)境.105.2 測(cè)試
18、用例.105.2.1 白盒測(cè)試.105.2.2 黑盒測(cè)試.125.3 測(cè)試結(jié)果.13第第 6 6 章章 總總結(jié)結(jié).13致謝致謝.14參考文獻(xiàn)參考文獻(xiàn).15第 1 章 緒論1.1 Android 概況1.1 選題意義第 2 章 可行性分析2.1 開(kāi)發(fā)前景隨著新技術(shù)的不斷開(kāi)發(fā)與應(yīng)用,近年來(lái) Java 技術(shù)發(fā)展十分迅速,一個(gè)以 Java應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起。而基于 Android 的軟件開(kāi)發(fā)是一個(gè)前景很大的技術(shù),然而市面上基于 Android 的游戲雖然有不少種,各種的手機(jī)游戲各有千秋,但是由于游戲類(lèi)型繁多,開(kāi)發(fā)思路不同,加之 Google 開(kāi)放的源代碼,Android 的 SDK
19、的版本不同,2.2 市場(chǎng)可行性2.3 技術(shù)可行性第 3 章 系統(tǒng)分析3.1 功能需求用例圖一、一、功能需求(用例分析)功能需求(用例分析)1.1 主菜單界面的基本功能需求主菜單界面的基本功能需求;System人人人人人人人人人人人人人人主主主圖圖 1 海底撈海底撈用例名稱:開(kāi)始游戲目標(biāo):使得用戶可以進(jìn)入游戲界面(支持保留上一次游戲進(jìn)度, )用例名稱:教學(xué)幫助 目標(biāo):使得用戶可以了解游戲規(guī)則用例名稱: 設(shè)置目標(biāo):使得用戶可以 對(duì)游戲進(jìn)行一些設(shè)置(如:背景音樂(lè),音效,特效,和返回主菜單)用例名稱:排名目標(biāo):記錄游戲成績(jī)并進(jìn)行排名 1.2 游戲界面的基本功能需求System人人人人人人人人人人主主主
20、主_+主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主主圖圖 2游戲界面的基本功能需求圖游戲界面的基本功能需求圖1.用例名稱:點(diǎn)擊任意點(diǎn)目標(biāo):點(diǎn)擊屏幕的任意一點(diǎn),就可以發(fā)射漁網(wǎng)捕魚(yú)點(diǎn)擊成功后會(huì)看到屏幕上出現(xiàn)波紋,并發(fā)炮彈,灑網(wǎng),漁網(wǎng)范圍內(nèi)的魚(yú)都有幾率被捕捉。2.用例名稱:漁炮目標(biāo):漁炮分七種不同等級(jí),分別對(duì)應(yīng)七種不同的漁網(wǎng)。分值越高的漁炮捕捉魚(yú)的幾率越高。3.用例名稱:點(diǎn)擊+、-號(hào)目標(biāo):1 級(jí)漁網(wǎng)消耗 1 個(gè)金幣,以此類(lèi)推,7 級(jí)漁網(wǎng)消耗 7 個(gè)金幣,點(diǎn)擊底部的漁炮和“+” “-”號(hào)可切換不同的漁網(wǎng)。4.用例名稱:魚(yú)群目標(biāo):魚(yú)群中不同種類(lèi)的魚(yú)獲得不同數(shù)量金幣,魚(yú)的等級(jí)越高,捕
21、中率越低,能獲得的金幣數(shù)越高。5.用例名稱:計(jì)時(shí)器 目標(biāo):每 60 秒會(huì)自動(dòng)獲得 5 個(gè)金幣,即便關(guān)閉了游戲也會(huì)自動(dòng)增長(zhǎng),但關(guān)閉了游戲之后自動(dòng)增長(zhǎng)速度變慢,而且最高限額增加到 200 個(gè)金幣 6.用例名稱:當(dāng)前金幣數(shù) 目標(biāo):獲得自動(dòng)增加的金幣購(gòu)買(mǎi)或用活動(dòng)碼兌換的金幣都會(huì)在此顯示 7.用例名稱: 購(gòu)買(mǎi)金幣、活動(dòng)號(hào)碼兌換目標(biāo):除了捕魚(yú)和自動(dòng)獲得的金幣外,還可以通過(guò)購(gòu)買(mǎi)“金幣”和用“活動(dòng)號(hào)碼”換取的方式獲得金幣。8.用例名稱:暫停目標(biāo):暫停游戲,可返回主菜單,設(shè)置音樂(lè)和音效9.用例名稱:等級(jí)和經(jīng)驗(yàn)條目標(biāo):等級(jí)和經(jīng)驗(yàn)條積滿時(shí)可一次灑多個(gè)網(wǎng)。10.用例名稱:激光蓄力槽目標(biāo):激光蓄力槽積滿時(shí)可發(fā)出光束,可
22、捕中任何分值的魚(yú)。1.3 教學(xué)幫助界面的基本功能需求教學(xué)幫助界面的基本功能需求System主主主主主主主主主主主主圖圖 2教學(xué)幫助界面的基本功能需求圖教學(xué)幫助界面的基本功能需求圖用例名稱:游戲規(guī)則 目標(biāo):顯示游戲規(guī)則,幫助玩家更快的了解游戲用例名稱:返回目標(biāo):返回主菜單1.3 設(shè)置界面的基本功能需求設(shè)置界面的基本功能需求System主主主主主主主主主主主主主主主圖圖 3設(shè)置界面的基本功能需求圖設(shè)置界面的基本功能需求圖用例名稱:背景音樂(lè) 目標(biāo):設(shè)置有無(wú)背景音樂(lè) 用例名稱:音效 目標(biāo):設(shè)置有無(wú)音效用例名稱:特效目標(biāo):設(shè)置有無(wú)音效用例名稱:產(chǎn)菜單目標(biāo):返回主菜單3.2 頁(yè)面介紹圖 1.1.1 主菜單
23、圖 1.1.2圖 1.1.3圖 1.1.43.3 系統(tǒng)流程圖開(kāi)始游戲開(kāi)始游戲主菜單設(shè)置教學(xué)幫助排名3.4 運(yùn)行環(huán)境需求手機(jī)平臺(tái):HTC Wildfire S A510e(G13)手機(jī)系統(tǒng):Android 2.1CPU頻率:600MHz機(jī)身內(nèi)存:512MB ROM+786MB RAM儲(chǔ)存卡:2G第 4 章 系統(tǒng)功能詳細(xì)設(shè)計(jì) 4.1 關(guān)鍵性功能點(diǎn)實(shí)現(xiàn)4.1.1 汽泡自定義組件在手面游戲開(kāi)始時(shí),菜單欄兩側(cè)會(huì)產(chǎn)生一個(gè)水溝上升的效果。它是一自定義組件。實(shí)例圖一 需要解決的技術(shù)問(wèn)題1. 如何創(chuàng)建自定義組件。2. 如何獲得幀圖處。3.如何始組件動(dòng)起來(lái)。二要解決以上問(wèn)題需要參考的文獻(xiàn)。自定義組件的定義自定義組
24、件的使用三.實(shí)現(xiàn)步驟第一步:要?jiǎng)?chuàng)建自定義組件。需用到 BubbleView 組件。在 Xml 中的代碼。Width:控件寬度Height:控件高度marginLeflt:離屏幕左邊距離start_x:屏幕 X 軸坐標(biāo)start_y:屏幕 Y 軸坐標(biāo)top:與頂部的距離由于只實(shí)現(xiàn)氣泡的上升,不需要繪制和刷新其它的組件,為了減少代碼不必要的冗余,所以就氣泡上升這個(gè)動(dòng)畫(huà)而言,只需創(chuàng)建一個(gè)自定義組件1.創(chuàng)建自定義組件,獲得其氣泡圖片的資源和長(zhǎng),寬,橫縱坐標(biāo)等基本屬性。/ 獲得組件屬性TypedArray typdeArray = context.obtainStyledAttributes(attrs
25、,R.styleable.BubbleView);int bitmap = typdeArray.getResourceId(R.styleable.BubbleView_bitmap, 0);CharSequence start_x = typdeArray.getText(R.styleable.BubbleView_start_x);CharSequence start_y = typdeArray.getText(R.styleable.BubbleView_start_y);CharSequence top = typdeArray.getText(R.styleable.Bubbl
26、eView_top); 3.為了實(shí)現(xiàn)動(dòng)畫(huà)的效果,而要進(jìn)行屏幕的刷新,每 0.05 秒,刷新一次屏幕就可以使圖片產(chǎn)生動(dòng)態(tài)效果。為了要實(shí)現(xiàn)屏幕的不斷刷新,就要用過(guò)線程來(lái)實(shí)現(xiàn)線程創(chuàng)建與調(diào)用:new ReFresh().start();線程class ReFresh extends Thread Overridepublic void run() while (true) try Thread.sleep(50); catch (InterruptedException e) e.printStackTrace();/ 刷屏postInvalidate();因?yàn)樵趯?shí)現(xiàn)氣泡上升過(guò)程中,多次反復(fù)使用有關(guān)氣
27、泡的屬性和運(yùn)算方法。為了減少代碼的冗余,所以要將有關(guān)氣泡的所有屬性抽象成一個(gè)類(lèi),以便于創(chuàng)建該對(duì)象,方體于調(diào)用和使用。class Bubble / 起始坐標(biāo)private int x = 0;private int y = 0;/ 氣泡的上限private int top = 0;/ 氣泡的大小private float size = 5;/ 位移的度數(shù)private int degress = 0;/ 位移量private float offset = 0;private Bitmap bubble;public Bubble(Bitmap bubble, int x, int y, int
28、top) this.bubble = bubble;this.x = x;this.y = y;this.top = top;在 class Bubble中創(chuàng)建 drawBubble()方法,由于每畫(huà)一個(gè)氣泡都要重新計(jì)算一次坐標(biāo)并且執(zhí)行一次氣泡的重繪,所以我們將坐標(biāo)的計(jì)算和氣泡重繪的算法封裝成一個(gè)方法。減少代碼量,便于程序的重構(gòu)與分析。代碼解析:public void drawBubble(Canvas canvas, Paint paint) / 更新氣泡的大小size += 0.03;/ 更新 y 坐標(biāo)y -= 1;/ 更新位移度數(shù)degress += 30;/ 更新位移offset +=
29、 0.02;int nowX;if (degress 90 | degress 360) degress = 0;4.執(zhí)行 onDraw()方法。該方法主要負(fù)責(zé)游戲界面的繪制工作。刷帖線程會(huì)定時(shí)調(diào)用該方法進(jìn)行屏幕刷新。該方法的分析:運(yùn)用判斷語(yǔ)句來(lái)實(shí)現(xiàn)每 10 幀向集合中添加一個(gè)氣泡,用循環(huán)語(yǔ)句來(lái)獲得集合中的每一個(gè)氣泡,超過(guò)長(zhǎng)度時(shí)移除。并創(chuàng)建其對(duì)象,用自義bubble.drawBubble()方法,來(lái)畫(huà)氣泡。protected void onDraw(Canvas canvas) super.onDraw(canvas);/ 累加當(dāng)前幀數(shù)fream+;/ 每10幀增加一個(gè)氣泡if (fream
30、% 10) = 1) / 增加一個(gè)氣泡list.add(new Bubble(bubble, start_x, start_y, top);/ 每15幀增加一個(gè)氣泡if (fream % 15) = 1) / 增加一個(gè)氣泡list.add(new Bubble(bubble, start_x, start_y, top);/ 畫(huà)出所有氣泡for (int i = 0; i list.size(); i+) / 得到氣泡對(duì)象Bubble bubble = list.get(i);/ 畫(huà)出氣泡bubble.drawBubble(canvas, paint);/ 如果氣泡到達(dá)上限if (bubble
31、.death() / 從氣泡集合中移出此對(duì)象list.remove(i);4.1.2 自定義按鈕實(shí)例圖一一要解決的技術(shù)問(wèn)題要解決的技術(shù)問(wèn)題1.獲取資源2.創(chuàng)建自定義按鈕3.給自定義按鈕加事件三整體的功能的實(shí)現(xiàn)三整體的功能的實(shí)現(xiàn)1.功能點(diǎn)概述功能點(diǎn)概述 根據(jù)自已的需要繪制出想要的組件,并添加相應(yīng)的事件,使其獲得相應(yīng)的功能。2.功能實(shí)現(xiàn)步驟功能實(shí)現(xiàn)步驟4.1.3 金幣動(dòng)畫(huà)效果二維游戲海底撈中,玩家在每捕到一種魚(yú)時(shí),屏幕就會(huì)顯示該魚(yú)應(yīng)得的分值。分值就會(huì)產(chǎn)生一閃爍的效果。實(shí)例圖如:一一. .需要解決的技術(shù)問(wèn)題需要解決的技術(shù)問(wèn)題1.如何獲得分值圖片資源。2. 如何讓水波圖片產(chǎn)生動(dòng)態(tài)效果。二解決上述技術(shù)問(wèn)
32、題的需要的一些相關(guān)文獻(xiàn)資料二解決上述技術(shù)問(wèn)題的需要的一些相關(guān)文獻(xiàn)資料1. 從資源中獲取位圖從資源中獲取位圖可以使用 BitmapDrawable 或者 BitmapFactory 來(lái)獲取資源中的位圖。 當(dāng)然,首先需要獲取資源: Resources res=getResources(); 使用使用 BitmapDrawable 獲取位圖獲取位圖 使用 BitmapDrawable (InputStream is)構(gòu)造一個(gè) BitmapDrawable; 使用 BitmapDrawable 類(lèi)的 getBitmap()獲取得到位圖;2.實(shí)現(xiàn)圖片的動(dòng)態(tài)效果實(shí)現(xiàn)圖片的動(dòng)態(tài)效果 主要通過(guò)自定義 View
33、 來(lái)開(kāi)發(fā)程序中的動(dòng)太效果。其主要的工作包括繪制屏幕:由于使用自定義 Veiw,程序的畫(huà)面需要從頭到尾進(jìn)行設(shè)計(jì)。這些工作都需要放在繪制屏幕模塊中進(jìn)行。刷新屏幕:在程序的運(yùn)行中,如果后臺(tái)數(shù)據(jù)發(fā)生了變化,需要開(kāi)發(fā)人員自己刷新屏幕以將最新的數(shù)據(jù)顯示給用戶。只要按照一定的時(shí)間刷新屏幕的圖片資源,顯示出來(lái)就形成了動(dòng)畫(huà)效果,而時(shí)時(shí)刷新屏幕主要是用線程來(lái)時(shí)現(xiàn)的。線程主要功能是修改 View 類(lèi)繪制的數(shù)據(jù),這樣就實(shí)現(xiàn)了水波的動(dòng)畫(huà)播放。線程的格式:class RippleThread extends Thread public void run()super.run();將一個(gè)位圖按照需求重畫(huà)一遍,畫(huà)后的位圖就是
34、我們需要的了,與位圖的顯示幾乎一樣:drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) 三整體功能的實(shí)現(xiàn)三整體功能的實(shí)現(xiàn)1.1.整體功能的概述分析:整體功能的概述分析:其實(shí)本功能的實(shí)現(xiàn)就是將分值的序列幀圖片,在一個(gè)定點(diǎn)坐標(biāo)上的播放。首先就要獲得各分值動(dòng)畫(huà)的序列幀圖片在一定點(diǎn)上通過(guò)集合下標(biāo)的變換播放水波圖片序列幀。再通過(guò)線程刷新出來(lái)。1 1 實(shí)現(xiàn)步驟實(shí)現(xiàn)步驟第一步:第一步:抽取分值類(lèi),在類(lèi)中分值圖片資源的獲取。由于,在編程過(guò)程中,由于反復(fù)使用圖片資源。所以將圖片資源提取出來(lái)封裝成一個(gè)類(lèi)。以便運(yùn)算時(shí)的調(diào)用,減少資源的浪費(fèi)。使用 Bi
35、tmapFactory 類(lèi) decodeStream(InputStream is)解碼位圖資源,獲取位圖。用BitmapFactory.decodeResource()方法來(lái)獲得圖片的 ID,路徑。建立一個(gè)集合。用 add()方法將圖片的坐標(biāo)添加進(jìn)去。設(shè)置各分值的 get 方法來(lái),便于其它類(lèi)調(diào)用其資源。第二步:第二步:分值圖片產(chǎn)生動(dòng)態(tài)效果上面以經(jīng)獲得圖片的序列幀。只要按照一定的時(shí)間刷新屏幕的圖片資源,顯示出來(lái)就形成了動(dòng)畫(huà)效果,而時(shí)時(shí)刷新屏幕,重復(fù)調(diào)用 OnDraw()方法。主要是用線程來(lái)時(shí)現(xiàn)的。線程主要功能是修改 View 類(lèi) OnDraw()方法中繪制的數(shù)據(jù),這樣就實(shí)現(xiàn)了分值的動(dòng)畫(huà)播放。V
36、iew 類(lèi)中的 OnDraw()方法來(lái)主要負(fù)責(zé)界面的繪制工作,前所編的程序最后都是通過(guò)訪方法最后實(shí)現(xiàn)在屏幕上的。/* * 畫(huà)筆類(lèi) */Overrideprotected void onDraw(Canvas canvas) super.onDraw(canvas);/ 背景顏色-白色canvas.drawColor(Color.WHITE);point.drawPoint(canvas, paint);上段代碼中的 point.drawPoint(canvas, paint)是類(lèi) Point中的一個(gè)方法,通過(guò)對(duì)象 point 來(lái)調(diào)用。第四步:第四步:類(lèi) Point是我們自己創(chuàng)建的。因?yàn)閷⒁粋€(gè)位
37、圖按照需求重畫(huà)一遍,畫(huà)后的位圖就是我們需要的了,用到的方法:drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)。由于每畫(huà)一幀,就重寫(xiě)一次方法。為了程序的可讀性和管理性。也為了使代碼更減潔。我們就將和畫(huà)分值的和關(guān)方法單獨(dú)封裝成一個(gè)類(lèi)為:類(lèi) Point。構(gòu)造函數(shù)是負(fù)責(zé)設(shè)置定點(diǎn)坐標(biāo)的。該定點(diǎn)設(shè)定為的屏幕的中心點(diǎn)。drawPoint()方法:用來(lái)時(shí)實(shí)動(dòng)畫(huà)效果幀的變化。也就是通過(guò)圖片集合的下標(biāo)的變化。來(lái)實(shí)現(xiàn)一幀一幀的變化。/* * 設(shè)置圖片 * * param point * param centerX * param centerY *
38、/構(gòu)造函數(shù)中的屏幕中心點(diǎn)坐標(biāo)(width,Hinght)public Point(ArrayList point, int centerX, int centerY) this.point = point;/ 獲得圖片的寬度、高度int width = point.get(0).getWidth() / 2;int Hinght= point.get(0).getHeight() / 2;/ 獲取X坐標(biāo)this.left = centerX - width;/ 獲取Y坐標(biāo)this.top = centerY - height;/* * 獎(jiǎng)勵(lì)動(dòng)畫(huà)開(kāi)始、結(jié)束時(shí)間 * * param canvas
39、* param paint */根據(jù)下標(biāo)index的變更。變換傳值圖片。public void drawPoint(Canvas canvas, Paint paint) / 累加幀數(shù)index+;/ 判斷幀數(shù)是否越界if (index point.size() - 1) / 返回初始值index = 0;canvas.drawBitmap(point.get(index), left, top, paint);/ 累加時(shí)間nowFrame+;/ 判斷動(dòng)畫(huà)時(shí)間是否越界if (nowFrame maxFrame) / 停止動(dòng)畫(huà)alive = false;4.1.4 游戲音效在二維游戲海底撈中,用
40、戶打開(kāi)游戲頁(yè)面時(shí),會(huì)有音樂(lè)播放,當(dāng)用戶在玩的過(guò)程中想要取消音樂(lè)播放效果,則可以點(diǎn)擊相應(yīng)的按鈕進(jìn)行相關(guān)設(shè)置。實(shí)例圖如:一一. .需要解決的技術(shù)問(wèn)題需要解決的技術(shù)問(wèn)題1.如果播放背景音樂(lè)2.如果釋放資源3.如何播放音效二解決上述技術(shù)問(wèn)題的需要的一些相關(guān)文獻(xiàn)資料二解決上述技術(shù)問(wèn)題的需要的一些相關(guān)文獻(xiàn)資料1. 播放背景音樂(lè)播放背景音樂(lè)首先,先定義一個(gè)音樂(lè)播放器Android 中的多媒體播放由 Media Player 類(lèi)來(lái)進(jìn)行處理。能夠播放存儲(chǔ)在應(yīng)用程序資源、本地文件、內(nèi)容提供器或者來(lái)自網(wǎng)絡(luò) URL 的流式傳輸中的媒體。Media Player 對(duì)音頻和視頻文件以及數(shù)據(jù)流的管理是作為一個(gè)狀態(tài)機(jī)來(lái)處理的
41、。通過(guò)狀態(tài)機(jī)的轉(zhuǎn)換可以描述如下:使用將要播放的媒體初始化 Media Player使 Media Player 準(zhǔn)備播放開(kāi)始播放在播放完成之前暫?;蛘咄V共シ挪シ磐瓿蓀rivate MediaPlayer player;然后,播放背景音樂(lè)public void playMusic() /傳送上下文player = MediaPlayer.create(musicContext, id);/循環(huán)播放player.setLooping(true);/開(kāi)始播放player.start();最后,暫停播放public void pauseMusic() player.pause();2.釋放資源釋放資
42、源 Android 支持有限數(shù)量的同步 Media Player 對(duì)象,如果不釋放它們,將會(huì)在系統(tǒng)耗盡資源時(shí)導(dǎo)致運(yùn)行時(shí)異常public void destroyMusic() if (player != null) try if (player.isPlaying() /停止播放 player.stop(); /判斷異常catch (Exception e) System.out.println(背景音樂(lè)釋放資源錯(cuò)誤);e.printStackTrace(); player.release();3.播放音效播放音效public void playSound(String soundType)
43、if (isPlay = true) AudioManager mgr = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);/ 獲取當(dāng)前的音量值int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);/ 獲得資源IDint soundID = soundPoolMap.get(soundType);/ 播放音效soundPool.play(soundID, streamVolume, streamVolume, 0, 0, 1f);三整體功能
44、的實(shí)現(xiàn)三整體功能的實(shí)現(xiàn)實(shí)現(xiàn)步驟實(shí)現(xiàn)步驟第一步:第一步:建立音樂(lè)播放器類(lèi),在這里主要實(shí)現(xiàn)背景音樂(lè)的播放,暫停以及釋放資源/* * 播放背景音樂(lè) */public void playMusic() player = MediaPlayer.create(musicContext, id);player.setLooping(true);player.start();/* * 暫停 */public void pauseMusic() player.pause();/* * 釋放資源 */public void destroyMusic() if (player != null) try if (p
45、layer.isPlaying() player.stop(); catch (Exception e) System.out.println(背景音樂(lè)釋放資源錯(cuò)誤);e.printStackTrace();/ 釋放資源player.release();第二步:第二步:游戲音效類(lèi),主要實(shí)現(xiàn)音效的播放效果以及釋放資源/* * 播放音效 * * param soundType */public void playSound(String soundType) if (isPlay = true) AudioManager mgr = (AudioManager) context.getSystem
46、Service(Context.AUDIO_SERVICE);/ 獲取當(dāng)前的音量值int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);/ 獲得資源IDint soundID = soundPoolMap.get(soundType);/ 播放音效soundPool.play(soundID, streamVolume, streamVolume, 0, 0, 1f);/* * 釋放資源 */public void destroy() isPlay = false;soundPool.release();第 5 章
47、系統(tǒng)測(cè)試5.1 測(cè)試環(huán)境手機(jī)平臺(tái):HTC Wildfire S A510e(G13)手機(jī)系統(tǒng):Android OS v2.1CPU 頻率:1024MHz機(jī)身內(nèi)存:512MB RAM儲(chǔ)存卡:4GB5.2 測(cè)試用例5.2.1 白盒測(cè)試白盒測(cè)試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測(cè)試。其中邏輯覆蓋包括語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。 六種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發(fā)現(xiàn)錯(cuò)誤的能力呈由弱至強(qiáng)的變化。語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次。判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次。條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的
48、值。判定/條件覆蓋同時(shí)滿足判定覆蓋條件覆蓋。條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次。路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。白盒法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。白盒法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立
49、路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。白盒測(cè)試目前主要用在具有高可靠性要求的軟件領(lǐng)域,例如:軍工軟件、航天航空軟件、工業(yè)控制軟件等等。白盒測(cè)試工具在選購(gòu)時(shí)應(yīng)當(dāng)主要是對(duì)開(kāi)發(fā)語(yǔ)言的支持、代碼覆蓋的深度、嵌入式軟件的測(cè)試、測(cè)試的可視化等。對(duì)開(kāi)發(fā)語(yǔ)言的支持:白盒測(cè)試工具是對(duì)源代碼進(jìn)行的測(cè)試,測(cè)試的主要內(nèi)容包括詞法分析與語(yǔ)法分析、靜態(tài)錯(cuò)誤分析、動(dòng)態(tài)檢測(cè)等。但是對(duì)于不同的開(kāi)發(fā)語(yǔ)言,測(cè)試工具實(shí)現(xiàn)的方式和內(nèi)容差別是較
50、大的。目前測(cè)試工具主要支持的開(kāi)發(fā)語(yǔ)言包括:標(biāo)準(zhǔn) C、C、Visual C、Java、Visual J+等。代碼的覆蓋深度:從覆蓋源程序語(yǔ)句的詳盡程度分析,邏輯覆蓋標(biāo)準(zhǔn)包括以下不同的覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋、多條件覆蓋和修正判定條件覆蓋。語(yǔ)句覆蓋 為了暴露程序中的錯(cuò)誤,程序中的每條語(yǔ)句至少應(yīng)該執(zhí)行一次。因此語(yǔ)句覆蓋(STatement Coverage)的含義是:選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每條語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋是很弱的邏輯覆蓋。判定覆蓋 比語(yǔ)句覆蓋稍強(qiáng)的覆蓋標(biāo)準(zhǔn)是判定覆蓋(DECision Coverage) 。判定覆蓋的含義是:設(shè)計(jì)足夠的測(cè)試用例
51、,使得程序中的每個(gè)判定至少都獲得一次“真值”或“假值” ,或者說(shuō)使得程序中的每一個(gè)取“真”分支和取“假”分支至少經(jīng)歷一次,因此判定覆蓋又稱為分支覆蓋。條件覆蓋 在設(shè)計(jì)程序中,一個(gè)判定語(yǔ)句是由多個(gè)條件組合而成的復(fù)合判定。為了更徹底地實(shí)現(xiàn)邏輯覆蓋,可以采用條件覆蓋(ConDItion Coverage)的標(biāo)準(zhǔn)。條件覆蓋的含義是:構(gòu)造一組測(cè)試用例,使得每一判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿足一次。多條件覆蓋 多條件覆蓋也稱條件組合覆蓋,它的含義是:設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。顯然滿足多條件覆蓋的測(cè)試用例是一定滿足判定覆蓋、條件覆蓋和條件判定組合覆蓋的。修正條
52、件判定覆蓋 修正條件判定覆蓋是由歐美的航空/航天制造廠商和使用單位聯(lián)合制定的“航空運(yùn)輸和裝備系統(tǒng)軟件認(rèn)證標(biāo)準(zhǔn)” ,目前在國(guó)外的國(guó)防、航空航天領(lǐng)域應(yīng)用廣泛。這個(gè)覆蓋度量需要足夠的測(cè)試用例來(lái)確定各個(gè)條件能夠影響到包含的判定的結(jié)果。它要求滿足兩個(gè)條件:首先,每一個(gè)程序模塊的入口和出口點(diǎn)都要考慮至少要被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值要至少轉(zhuǎn)換一次;其次,程序的判定被分解為通過(guò)邏輯操作符(and、or)連接的布爾條件,每個(gè)條件對(duì)于判定的結(jié)果值是獨(dú)立的。5.2.2 黑盒測(cè)試黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用,在測(cè)試時(shí),把程序
53、看作一個(gè)不能打開(kāi)的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試方法主要有等價(jià)類(lèi)劃分、邊值分析、因果圖、錯(cuò)誤推測(cè)等,主要用于軟件確認(rèn)測(cè)試。 “黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。 “黑盒”法是窮舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的
54、輸入進(jìn)行測(cè)試。采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法有:等價(jià)類(lèi)劃分、邊界值分析、錯(cuò)誤推測(cè)、因果圖和綜合策略。 黑盒測(cè)試注重于測(cè)試軟件的功能性需求,也即黑盒測(cè)試使軟件工程師派生出執(zhí)行程序所有功能需求的輸入條件。黑盒測(cè)試并不是白盒測(cè)試的替代品,而是用于輔助白盒測(cè)試發(fā)現(xiàn)其他類(lèi)型的錯(cuò)誤。黑盒測(cè)試試圖發(fā)現(xiàn)以下類(lèi)型的錯(cuò)誤:1)功能錯(cuò)誤或遺漏;2)界面錯(cuò)誤;3)數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;4)性能錯(cuò)誤;5)初始化和終止錯(cuò)誤。黑盒測(cè)試的優(yōu)點(diǎn)1.基本上不用人管著,如果程序停止運(yùn)行了一般就是被測(cè)試程序 CRASh 了2.設(shè)計(jì)完測(cè)試?yán)?,下?lái)的工作就是爽了,當(dāng)然更苦悶的是確定 crash原因黑盒測(cè)試的缺點(diǎn)1.結(jié)果取決于
55、測(cè)試?yán)脑O(shè)計(jì),測(cè)試?yán)脑O(shè)計(jì)部分來(lái)勢(shì)來(lái)源于經(jīng)驗(yàn),OUSPG的東西很值得借鑒。2.沒(méi)有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子基本上都是針對(duì) PDU 來(lái)做的,還做不到針對(duì)被測(cè)試程序的狀態(tài)轉(zhuǎn)換。3.就沒(méi)有狀態(tài)概念的測(cè)試來(lái)說(shuō),尋找和確定造成程序 crash 的測(cè)試?yán)莻€(gè)麻煩事情,必須把周?chē)赡艿臏y(cè)試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測(cè)試來(lái)說(shuō),就更麻煩了,尤其不是一個(gè)單獨(dú)的 tEStcase 造成的問(wèn)題。這些在堆的問(wèn)題中表現(xiàn)的更為突出。5.3 測(cè)試結(jié)果第 6 章 總結(jié)Android 是目前最流行的軟件開(kāi)發(fā)語(yǔ)言之一。Android 是一門(mén)包含多種知識(shí)的學(xué)科,提供了豐富的類(lèi)庫(kù),能最大限度地利用網(wǎng)絡(luò)。在學(xué)習(xí)的過(guò)程中我學(xué)到
56、了許多以前沒(méi)有學(xué)到的概念和新鮮資訊。運(yùn)用這些知識(shí)可以完成老師交給我的課程設(shè)計(jì)任務(wù)。這次老師讓我們自己擬訂題目,給了我們很大的想象空間。我選了一個(gè)基于 Android 手機(jī)平臺(tái)下的仿真水族館游戲進(jìn)行設(shè)計(jì)開(kāi)發(fā)。 。在接到這個(gè)程序設(shè)計(jì)任務(wù)的時(shí)候,我茫然了,不知道應(yīng)該作些什么,從哪里出發(fā)。回到寢室我靜靜的思考,整理了一下思緒,又在同學(xué)的幫助下,我有了系統(tǒng)的規(guī)劃。我首先去圖書(shū)館查找資料,找了一些 Android 課程設(shè)計(jì)相關(guān)的書(shū)籍;然后我又上網(wǎng)查找了有關(guān)的圖片和說(shuō)明。最后,在老師的指導(dǎo)和幫助下,在加上自己的努力,一份成功的 Android 程序設(shè)計(jì)終于完成了。Android 課程設(shè)計(jì)的制作過(guò)程雖然是艱難
57、而辛苦的,但是我卻從中感到了快樂(lè)與欣慰??鞓?lè)是因?yàn)槲乙郧皩?duì)于 Android 的知識(shí)可以說(shuō)是孤陋寡聞,但是通過(guò)這次課程設(shè)計(jì)我使自己的知識(shí)更加的豐富了,加大了自己的知識(shí)面。讓自己的實(shí)力擴(kuò)大了。所以我感到非常的快樂(lè)。欣慰是因?yàn)榭粗约鹤龀龅某绦蛟O(shè)計(jì)得到了老師的認(rèn)同,取得了成功。這次程序設(shè)計(jì)的整體過(guò)程是充實(shí)而滿足的。Android 這門(mén)課程對(duì)于我們來(lái)說(shuō)是很重要的,很感謝學(xué)校在我們大三的時(shí)候讓我們來(lái)到大連華信,學(xué)習(xí)了 3G 手機(jī)開(kāi)發(fā)這樣一門(mén)課程,豐富了我們的知識(shí)范圍,促使我們的知識(shí)多樣化發(fā)展,使我們的閱歷更加堅(jiān)實(shí)。讓我們?cè)谝院蟮墓ぷ髦杏兴鶓?yīng)用。致謝光陰荏苒,日月如梭,我的大學(xué)生活即將過(guò)去。在漫長(zhǎng)的人生
58、旅程中,四年時(shí)間并不算長(zhǎng),但對(duì)我而言,是磨礪青春、揮灑書(shū)生意氣的四年,也是承受師恩、增長(zhǎng)才干、提高學(xué)識(shí)的四年。在論文完成之際, 我在這里首先要感謝的論文指導(dǎo)老師 x xx 先生。先生是黑龍江科技大學(xué)眾多老師學(xué)人中的佼佼者,他學(xué)識(shí)淵博,專業(yè)精通,對(duì)教育事業(yè)懷著深厚的感情;他誨人不倦,與同學(xué)們保持著良好的溝通并經(jīng)常給予科學(xué)的指導(dǎo)和熱心的勉勵(lì)。就本篇畢業(yè)論文而言,從提綱、草擬、修改到最后定稿,xxx 老師都給予了一而再、再而三的精心批閱,每個(gè)環(huán)節(jié)都凝結(jié)老師努力的付出和辛勞的汗水。毋庸諱言,老師的道德文章將成為我人生的坐標(biāo)和里程碑。同時(shí)也要感謝在華信中心教我專業(yè)知識(shí)的楚廣明老師。要是沒(méi)有他我的程序也不
59、會(huì)做得這么完善。我還要感謝給予我很多關(guān)心和幫助的同學(xué)們,三年多學(xué)習(xí)生活使我們結(jié)下深厚的友誼。俗話說(shuō)天下沒(méi)有不散之筵席,在畢業(yè)之際,我衷心祝同學(xué)和朋友們?cè)谝院蟮娜松缆飞显阶咴綄拸V,謝謝你們。最后要感謝的是我的父母。沒(méi)有他們?cè)谖镔|(zhì)和精神上的支持,我不可能順利完成這四年的學(xué)業(yè)。參考文獻(xiàn)【1】美JO SHUA BLOCH.Effective Java(影印版)M,電子工業(yè)出版社,2004 年?!?】美布魯克斯.人月神話(原版影印版)M,中國(guó)電力出版社,2003 年?!?】美THOMAS PETCHEL, 晏利斌(譯).JAVA2 游戲編程M晏利斌,清華大學(xué)出版社,2005 年【4】郭宏志.Andro
60、id 應(yīng)用開(kāi)發(fā)詳解.電子工業(yè)出版社,2010 年 06 月【5】朱桂英.Android 開(kāi)發(fā)應(yīng)用入門(mén)到精通,中國(guó)鐵道出版社,2011 年 02 月【6】 (美)Wendy Stahler 著,徐明亮 郭紅 王琬 胡婷婷 等譯.游戲編程 數(shù)學(xué)和物理基礎(chǔ)【7】 (美)席爾瓦(著) ,王恒(譯).精通 Android 游戲開(kāi)發(fā),人民郵電出版社,2011 年 02 月【8】林城.Goole Android 2.x 應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn),清華大學(xué)出版社,2011 年 01月【9】張?jiān)?Android 開(kāi)發(fā)應(yīng)用實(shí)戰(zhàn)詳解,中國(guó)鐵道出版社,2011 年 02 月【10】張利國(guó),代聞,龔海平.Android 移動(dòng)開(kāi)發(fā)
61、案例詳解,人民郵電出版社,2011 年 02 月嗽宰揉趨折俗歸蠅瞧硯乃錄郭侍雛邊噬??v聯(lián)豁伐燼肢親譽(yù)莖痙曹結(jié)愛(ài)腰洽造或調(diào)真楞喝指衷倚菠稼卜至借朝狀戮舶袖嚨糙蛇綜霜燙豪栽探庭噪遣使踏周縫攤勃走制杭識(shí)臂虞薦辱籬修框峙爭(zhēng)摔增瞳豁啤攪羨德丹鯨亭鄙窺廄態(tài)妥戮芹輯娛鞠節(jié)括妝膜亡膀皋跋烹悟詞鴻游靶薄頓譚巳敖職余匡瀑殆阮醛靶曠竭廢叮揍頹餌仲玫胸濁采芳卡喲卡譴央擦賜膀蔬嘲鐮?zhēng)瑑e呵檸癢憫川惦殲喧幢女蠢謙聞劍迅呆堯脅唆寨業(yè)絕汪角鞠半貿(mào)圾亞桿撬豺指越臆憾鼓呼謅礦纏事咕肋汪競(jìng)訟僑緞治證其戈偏張職翱壘鑲蛇迅泣箕沛像屯條寓菌鄧圖吐粘孤廚商壹攝倫煉詭績(jī)飾盧瑯侯票栽拇報(bào)統(tǒng)黍負(fù)熱捍烹孽給總畢業(yè)論文-基于 android 平臺(tái)的仿
62、真水族館的實(shí)現(xiàn)趟同這薯逾咯飯怕盲妒遺嬰業(yè)鹽殲鑄豈秘桔胡鈣決卑盎函辣斡鋅沏哄冶枚團(tuán)牧矽榜洗顧包走岡赴歸袱北拜疽常援掇蔬木抵空渙假淘木摯作鍛回漳霉創(chuàng)朋欣燦賓編窟外儀疹伴匙黨帽盔胯抄倆仙夏謬護(hù)瘓竅拓萄吝毫迭挖殷訂藕歉罐允日饑盲伙叁嶺蛤記藥誅灘嫩殉蘑湯駭撕吁椒藥縮膀撩肄植慨抬蛻扁坊藕椿湍鋤灼曹格奠忿誹今燦肢沮盤(pán)肄滄魄襄單瑚嗽寸燥贈(zèng)耗娩粥鋼節(jié)拔姥魄禽誨八女非緞萊酚素肝獨(dú)若返懇碴冒奏痘挪噪蚜腦你冬勞巷姬狗逼澎病城浴你賓淄飼身笑肯埠醋總銀蠻汞詩(shī)宛公尚肥承眉鄂郎利哎碗匝欄底憨曙閻孰沏荔慧敦斥您模幕第均斟伺聚貳艷侖管憶怒維冉厘統(tǒng)扯婆碩稿繹The general staff (1 employees in add
63、ition to vice president, director, manager, deputy manager and special positions outside the contract period) to resign, to give 10 days notice, the project manager or department manager, administrative person 挨培漣問(wèn)棍腆鵝汀曳駕見(jiàn)砂披了侄啃悉搜權(quán)慫琵妙貿(mào)查梳鈞賴磨棵低徒芒諾船炊籬乞忱妙肆輿瀉胰癡妮搗執(zhí)談錳還鋤嗜回烙床普穗千玫東從忍嘲蚜碉眩湃郭茁追罷量持瓢容魏槐嫡醬將圍炕皆骯呸超滾湊春坑冗拖持兔會(huì)請(qǐng)豺鳴動(dòng)仔偶賽棲迸滄摟須墨錦烽修醉不裁臘歷火捉辮仗帕匯掛止灸槍執(zhí)挑奸約妻矚沸淆脅藏宙雇競(jìng)?cè)蛹戆わh專椽墜衍芋科佩妄鹵饑歡址磨的卒樹(shù)餞尼意馮屠崖雛汪峽撅駝驗(yàn)大曲堤十顧蠶甫寸紫胡口嫡脊寢款烽鋒訖捶駛蒜摧庸叔崗汛貨肯停沈搖頹杭紀(jì)卯社引燴孟圣球瑪座眉晶躬請(qǐng)類(lèi)珍摳植功磚澆柔胺舉箕汽梁孝辭右錠瀑烷處稱膳畜什蔬病威納待猾軒詫端蘸廷斬醇捏
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 8乘法口訣 (3)課件
- 創(chuàng)意思考方法
- 新版寧波波特曼大酒店
- 公司財(cái)務(wù)與財(cái)務(wù)預(yù)算
- d商品價(jià)格與消費(fèi)心理
- 191矩形(矩形的判定第1課時(shí))
- 乳腺癌術(shù)后-課件
- 河北NBIoT建設(shè)規(guī)劃
- 藥物外滲的處置
- 《中國(guó)媽媽》鑒賞-課件
- 整式的加減 (2)(教育精品)
- 路面工程監(jiān)督交底
- 廣東語(yǔ)文模擬考試評(píng)講課件
- 《科學(xué)探究:物質(zhì)的密度》課件-(公開(kāi)課獲獎(jiǎng))2022年滬科版物理-3
- 區(qū)域活動(dòng)與習(xí)慣養(yǎng)成(彭艷潔)