第一篇:廈門手機(jī)開發(fā)培訓(xùn)Android手機(jī)模式分析
廈門手機(jī)開發(fā)培訓(xùn)Android手機(jī)模式分析
第一部分其實(shí)游戲就是廈門博看文思讓狀態(tài)機(jī)不斷的讓Canvas在View上畫你想要的東西。這個(gè)狀態(tài)機(jī)包括內(nèi)部的執(zhí)行,還包括外部的輸入。
Android開發(fā)的MVC模式
1,通過View和SurfaceView來顯示界面的視圖。(處理界面與用戶的交互事件,如,觸筆點(diǎn)擊,用戶按鍵等??赏ㄟ^View類的onKeyDown,onKeyUp,onTouchEvent等)。
2,用Activity來控制游戲的整體結(jié)構(gòu)。
3,設(shè)計(jì)一個(gè)邏輯類,用來處理邏輯運(yùn)算。
Android中任何一個(gè)View類都只有重寫onDraw方法來實(shí)現(xiàn)界面顯示。
Android中提供了
onKeyUp,onKeyDown,onKeyMultiple,onKeyPreIme,onTouchEvent,onTrackballEvent等方法??梢杂脕硖幚碛螒蛑械氖录ⅰK岳^承View時(shí),需要重載這些方法。Android中提供了invalidate來刷新界面,但invalidate不能直接在線程中調(diào)用,違背單線程模型。
因此Android中最常用的方法是利用Handler來時(shí)更新UI界面。
第一部分View類
每個(gè)View類都有一個(gè)繪畫的畫布,在游戲中可以自定義視圖View,任何一個(gè)View類都只需要重寫onDraw方法來實(shí)現(xiàn)界面顯示,可以是3D,也可以是文本。
游戲的核心就是不斷的繪圖和刷新,圖我們可以通過onDraw方法繪制,刷新
Android中可以用invalidate方法來刷新界面,注意:invalidate不能直接在線程中調(diào)用,因其違背了
違背單線程模型。因此Android中最常用的方法是廈門博看文思利用Handler來時(shí)更新UI界面。下面這個(gè)例子中包含了兩個(gè)刷新方法。
第二篇:廈門手機(jī)開發(fā)培訓(xùn)分析Android自動化解決方案
廈門手機(jī)開發(fā)培訓(xùn)分析Android自動化解決方案
現(xiàn)在,已經(jīng)有大量的Android自動化測試架構(gòu)或工具可供我們廈門博看文思使用使用,其中包括:ActivityInstrumentation,MonkeyRunner,Robotium,以及Robolectric。另外LessPainful也提供服務(wù)來進(jìn)行真實(shí)設(shè)備上的自動化測試。
Android自身提供了對instrumentation測試的基本支持,其中之一就是位于
android.test包內(nèi)的ActivityInstrumentationTestCase2類,它擴(kuò)展了JUnit的TestCase類來提供Androidactivities的功能測試。在應(yīng)用測試中,每一個(gè)activity首先會被
Instrumentation初始化,然后再加載到Android模擬器或設(shè)備的Dalvik虛擬機(jī)中來執(zhí)行。
AndroidSDK自帶一個(gè)測試工具M(jìn)onkeyRunner,它提供的API和執(zhí)行環(huán)境可以運(yùn)行Python語言編寫的測試代碼。它提供API來連接設(shè)備,安裝/卸載應(yīng)用,運(yùn)行應(yīng)用,截屏,比對圖片來判斷特定命令執(zhí)行后的屏幕是否包含預(yù)期信息,以及運(yùn)行對應(yīng)用的測試。MonkeyRunner使用ActivityInstrumentationTestCase2,ProviderTestCase,ServiceTestCasek,SingleLaunchActivityTestCase及其他類來定義測試用例,并使用InstrumentationTestRunner類來運(yùn)行測試。
Robotium是另一種通過InstrumentationTestRunner來完成Android交互式測試的架構(gòu),它橫跨多個(gè)activities,支持功能測試,系統(tǒng)測試和接收測試。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus甚至Honeycomb,并且它可以同Maven和Ant集成來完成持續(xù)集成測試。Robotium被稱之為針對Android應(yīng)用的又一個(gè)Selenium。
Robolectric另辟蹊徑,它并不依賴于Android提供的測試功能,它使用了
shadowobjects并且運(yùn)行測試于普通的工作站/服務(wù)器JVM,不像模擬器或設(shè)備需要
dexing(Androiddex編譯器將類文件編譯成Android設(shè)備上的DalvikVM使用的格式),打包,部署和運(yùn)行的過程,大大減少了測試執(zhí)行的時(shí)間。Pivotal實(shí)驗(yàn)室聲稱使用Robolectric可以在28秒內(nèi)運(yùn)行1047個(gè)測試。
廈門博看文思知道LessPainful將Android測試又推進(jìn)了一步,它提供了一個(gè)多設(shè)備平臺自動化測試的服務(wù)。用戶上傳應(yīng)用(*.apk)和用Cucumber(一種業(yè)務(wù)相關(guān)的DSL)編寫的測試文件,選擇測試運(yùn)行需要的設(shè)備配置,最后測試將自動執(zhí)行并生成測試報(bào)告。它支持的設(shè)備包括GarminAsus,幾款HTC,LG,SamsungGalaxy,SonyXperia和MotorolaMotodefy。
第三篇:廈門手機(jī)開發(fā)培訓(xùn)—軟件工程師談Android開發(fā)經(jīng)驗(yàn)
廈門手機(jī)開發(fā)培訓(xùn)—軟件工程師談Android開發(fā)經(jīng)驗(yàn)
Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序組成,是首個(gè)真正為移動終端打造的開放并且完整的移動平臺。2008年9月
22日,美國運(yùn)營商T-MobileUSA在紐約正式發(fā)布第一款Google手機(jī),即T-MobileG1,廈門博看文思知道從那個(gè)時(shí)候起,Android的時(shí)代就真正的來臨了。
從Android1.0至今經(jīng)歷了多次的版本更新,其中重要的變更是1.5、2.0和2.2。而其他的版本更新相對而言并不是那么重要。另外,由于每次更新都會多少改動包括Dalvik在內(nèi)的底層模塊,同時(shí)牽扯到SDK,導(dǎo)致了一些程序需要跟著Android版本進(jìn)行變動。對于相對較為保守的開發(fā)人員而言,快速的版本更新將給他們帶來越來越大的限制。在這種情況下,Android開源的意義就顯得不是那么大了。
無論如何,由于Android與Google服務(wù)的緊密捆綁,這款操作系統(tǒng)擁有了得天獨(dú)厚的優(yōu)勢。通過Google強(qiáng)有力的支持,很多事情在Android上都會變得很簡單。另外需要特別提出的是,Android是一款基于互聯(lián)網(wǎng)的操作系統(tǒng),在可以連接上互聯(lián)網(wǎng)的情況下,一款A(yù)ndroid手機(jī)可以發(fā)揮出比其他手機(jī)更多的能力。而在沒有網(wǎng)絡(luò)的情況下,Android手機(jī)并不比其他的手機(jī)出色,尤其是娛樂性相對于iPhone可以說是遜色不少。作為廈門博看文思開發(fā)人員,應(yīng)當(dāng)在學(xué)習(xí)并深入了解Android之后,在自己的軟件中,將Android的優(yōu)勢發(fā)揮出來,同時(shí)通過一些手段去彌補(bǔ)Android本身的缺陷或不足。下面來看一下廈門博看文思Android擁有的特點(diǎn)吧:
?與硬件交互非常方便,包括攝像頭、GPS等,都可以簡單的操作。
?擁有自己的運(yùn)行時(shí)和虛擬機(jī),優(yōu)秀的內(nèi)存管理能力。
?提供豐富的界面控件供開發(fā)者使用,允許可視化開發(fā),并保證Android平臺下的應(yīng)用程序界面一致。
?提供輕量級的進(jìn)程間通信機(jī)制。
?支持無界面的后臺服務(wù)類應(yīng)用程序。
?支持高效、快速的數(shù)據(jù)存取方式。
在這些特性的支持下,試圖在Android下開發(fā)一個(gè)應(yīng)用不會太過困難。事實(shí)上,一個(gè)稍有Java經(jīng)驗(yàn)的開發(fā)人員,都可以快速的上手進(jìn)行Android的開發(fā)。而開發(fā)的核心,一直以來也是圍繞著Android手機(jī)幾個(gè)大的特點(diǎn)來進(jìn)行的,其中就包括了觸摸屏、攝像頭、GPS模塊、互聯(lián)網(wǎng)功能、語音輸入、Google賬戶等。需要說的是,如果一位J2ME工程師想轉(zhuǎn)行做Android,那么他將付出的代價(jià)比J2SE或J2EE工程師要大得多。
畢竟Android所支持的是基本完整的J2SE的子集,反過來再看J2ME就會覺得它的功能太弱了。
除了Java外,還有許多語言支持Android的開發(fā),比較為人所熟知的有Scala,而作為Android本身的底層語言,C/C++的作用也完全不可忽視。而目前的開源社區(qū)內(nèi),已經(jīng)有一些牛人在嘗試讓更多的語言可以開發(fā)Android應(yīng)用。比較有代表性的可能是KoushikDutta,他已經(jīng)解決了在Mono平臺下,讓Dalvik調(diào)用Mono代碼的問題?;蛟S在不久的將來,.NET下的所有語言,都有可能借助Mono跑在Android上,這是一件值得讓人期待的事情。
語言已不是問題,那還有什么會成為問題?也許很多人會說經(jīng)驗(yàn)。誠然,經(jīng)驗(yàn)決定了一位開發(fā)人員能否快速地、流暢地完成開發(fā)工作,也決定了軟件的魯棒性,Bug的數(shù)量、等級和修正問題的返工次數(shù)。不過我認(rèn)為,這些都不重要,哪怕是一個(gè)
Android行業(yè)的新人,一邊查詢文檔一邊做開發(fā),雖然效率會很低,但是一樣能把項(xiàng)目做完。在Android下,開發(fā)技術(shù)幾乎是沒有瓶頸的。那么瓶頸在哪里呢?事實(shí)上,在用過很多軟件后,就會發(fā)現(xiàn),有很多軟件并不好用。很多用戶不愿意用某個(gè)軟件,也并不是因?yàn)檐浖]有技術(shù)含量或是滿足不了需求,原因很簡單,就是不好用。
第四篇:廈門手機(jī)開發(fā)培訓(xùn)關(guān)于Android開發(fā)環(huán)境的構(gòu)建方法總結(jié)
廈門手機(jī)開發(fā)培訓(xùn)關(guān)于Android開發(fā)環(huán)境的構(gòu)建方法總結(jié)
廈門博看文思本方法適用于AndroidSDK2.1環(huán)境下的程序開發(fā)
安裝JDK
?在java.sun.com下載JDK并安裝。
?在“系統(tǒng)屬性”的“高級”選項(xiàng)卡中點(diǎn)擊“環(huán)境變量”,然后添加如下系統(tǒng)環(huán)境變量:
1.在PATH環(huán)境變量后追加JDK安裝路徑中的bin路徑,本機(jī)為:
C:ProgramFilesJavajdk1.6.0_18bin
2.新建CLASSPATH環(huán)境變量或在CLASSPATH環(huán)境變量后追加JDK安裝路徑中的lib路徑和demo路徑,本機(jī)為:
C:ProgramFilesJavajdk1.6.0_18demo;C:ProgramFilesJavajdk1.6.0_18lib安裝Eclipse
?在eclipse.org下載EclipseIDEforJavaDevelopers的Windows32bit版本。?下載完成后解壓即可使用。
安裝AndroidSDKOR離線安裝
?在AndroidDevelopers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。
?運(yùn)行SDKSetup.exe,點(diǎn)擊AvailablePackages,如果沒有出現(xiàn)可安裝的包請點(diǎn)擊Settings,選中Misc中的“Forcehttps://...”這項(xiàng),再點(diǎn)擊AvailablePackages。
?選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊InstallationSelected、AcceptAll、InstallAccepted,開始下載安裝所選包
?添加SDK安裝目錄中的tools文件夾路徑至系統(tǒng)PATH環(huán)境變量,本機(jī)為:C:Androidandroid-sdk-windowstools
關(guān)于離線安裝
用廈門博看文思上面方法更新的時(shí)候速度很慢。
更要等很久。所以我們可以直接把那些包下載下來安裝。
地址就是
https://dl-ssl.google.com/androi...2.0_r01-windows.zip
https://dl-ssl.google.com/androi...2.1_r01-windows.zip
https://dl-ssl.google.com/androi...-1.1_r1-windows.zip
https://dl-ssl.google.com/androi...1.5_r03-windows.zip
https://dl-ssl.google.com/androi...1.6_r02-windows.zip
https://dl-ssl.google.com/androi...ver_r03-windows.zip
https://dl-ssl.google.com/androi...ogle_apis-6_r01.zip
https://dl-ssl.google.com/androi...ogle_apis-5_r01.zip
https://dl-ssl.google.com/androi...ogle_apis-4_r02.zip
https://dl-ssl.google.com/androi...ogle_apis-7_r01.zip
下完之后,名字以android的,解壓到platforms里面;
以google_apis開頭的,解壓到addons里面。
usb驅(qū)動的,直接解壓到根目錄。
安裝Eclipse插件ADT
?StartEclipse,thenselectHelp>InstallNewSoftware.?IntheAvailableSoftwaredialog,clickAdd...?
IntheAddSitedialogthatappears,enteranamefortheremotesite(forexample,“AndroidPlugin”)inthe“Name”field.Inthe“Location”field,enterthisURL:
https://dl-ssl.google.com/android/eclipse/
如果無法通過上面的地址獲得插件,可將https替換為http。
(httpsispreferredforsecurityreasons)
BackintheAvailableSoftwareview,youshouldnowsee“DeveloperTools”addedtothelist.?
SelectthecheckboxnexttoDeveloperTools,whichwillautomaticallyselectthenestedtoolsAndroidDDMSandAndroidDevelopmentTools.ClickNext.?
IntheresultingInstallDetailsdialog,theAndroidDDMSandAndroidDevelopmentToolsfeaturesarelisted.?
ClickNexttoreadandacceptthelicenseagreementandinstallanydependencies,thenclickFinish.?RestartEclipse.配置ADT
在Eclipse中:
?選擇Window>Preferences...?在左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse...并選中SDK路徑,本機(jī)為:C:Androidandroid-sdk-windows
?點(diǎn)擊Apply、OK。配置完成。
創(chuàng)建AVD
為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。
?在Eclipse中。選擇Windows>AndroidSDKandAVDManager
?點(diǎn)擊左側(cè)面板的VirtualDevices,在右側(cè)點(diǎn)擊New
?填入Name,選擇Target的API,SDCard大小任意,Skin隨便選,Hardware目前保持默認(rèn)值
?點(diǎn)擊CreateAVD即可完成創(chuàng)建AVD
第五篇:廈門手機(jī)開發(fā)培訓(xùn)專業(yè)課程階段分析
廈門手機(jī)開發(fā)培訓(xùn)專業(yè)課程階段分析
對于毫無計(jì)算機(jī)基礎(chǔ)而言的人,想要學(xué)習(xí)Android手機(jī)開發(fā)這一行業(yè),更是要選擇一家良好的培訓(xùn)學(xué)校,進(jìn)行系統(tǒng)的學(xué)習(xí)。開始自學(xué)Android手機(jī)開發(fā)課程,將自己的專業(yè)方向轉(zhuǎn)往Android手機(jī)開發(fā)這一領(lǐng)域,可是自學(xué)始終學(xué)習(xí)不到系統(tǒng)的Android手機(jī)開發(fā)培訓(xùn)課程,和參與到Android手機(jī)開發(fā)培訓(xùn)項(xiàng)目中去.以下為主要步驟。
第一階段:J2ME基礎(chǔ),單元模塊內(nèi)容項(xiàng)目可勝任的崗位,C++編程基礎(chǔ)C++基本語法,游戲中面向?qū)ο缶幊虘?yīng)用游戲中常用數(shù)據(jù)結(jié)構(gòu)標(biāo)準(zhǔn)模板庫《龍與地下城》——文字游戲開發(fā)《游戲測試工程師
第二階段:二維手機(jī)游戲,單元模塊內(nèi)容項(xiàng)目可勝任的崗位,J2me應(yīng)用程。開發(fā)MIDlet程序框架的使用如何使用J2ME中的高級控件開發(fā)應(yīng)用程序《家庭理財(cái)寶》、《自制電話本》、《自制電子相冊》手機(jī)應(yīng)用軟件開發(fā)工程師如何搭建游戲框架如何在手機(jī)屏幕上繪制圖片,如何繪制游戲中的HUD界面手機(jī)版《彈力球》手機(jī)游戲工程師手機(jī)應(yīng)用軟件工程師、移動增值服務(wù)工程師、嵌入式軟件工程師游戲中的交互程序設(shè)計(jì)手機(jī)鍵盤在游戲中的使用手機(jī)觸摸屏在游戲中的使用,手機(jī)上麥克風(fēng)在游戲中的使用。手機(jī)攝像頭在游戲中的使用系列游戲《北教制造》中使用麥克風(fēng)、觸屏及攝像頭,游戲畫面生成與控制游戲界面的切換,精靈的創(chuàng)建與控制。幀動畫是實(shí)現(xiàn)圖層的創(chuàng)作于控制,圖層管理技術(shù),碰撞檢測。動態(tài)圖層的實(shí)現(xiàn)《暗黑破壞神》手機(jī)版中的碰撞實(shí)現(xiàn)《合金彈頭》手機(jī)版中圖層的控制,游戲的BGM播放及。特效音樂的添加MIDI音樂的播放,MP3音樂的播放自制MP3播放器,游戲記錄的存儲RMS技術(shù)在手機(jī)游戲中的應(yīng)用手機(jī)版《仙劍奇?zhèn)b傳》中游戲記錄的實(shí)現(xiàn)游戲中人工智能技術(shù)人工智能概念手機(jī)游戲中人工智能實(shí)際思路,手機(jī)游戲中人工智能實(shí)現(xiàn)方式《火影格斗》手機(jī)版中敵人的AI實(shí)現(xiàn)游戲中人工智能,技術(shù)MIDP2.0的封裝原理,如何封裝自己的精靈類,如何封裝自己的圖層類《加勒比海盜》中主角的實(shí)現(xiàn)及NPC的實(shí)現(xiàn)
第三階段:三維手機(jī)游戲,單元模塊內(nèi)容項(xiàng)目可勝任的崗位,技術(shù)專題講座移動百寶箱的業(yè)務(wù)范圍,聯(lián)通寶典業(yè)務(wù)范圍。各廠商專用API介紹,手機(jī)游戲移植針對不同廠商的機(jī)型進(jìn)行游戲移植,3G手機(jī)網(wǎng)游工程師。手機(jī)游戲中3D模型的加載M3G功能介紹,3D手機(jī)游戲中的模型加載,模型的移動自制3D桌球游戲。游戲中的光照游戲中的光效技術(shù)3D游戲《孤島歷險(xiǎn)記》粒子特效技術(shù)云霧效果的實(shí)現(xiàn)火花效果的實(shí)現(xiàn)3D模型碰撞檢測3D手機(jī)游戲中的場景實(shí)現(xiàn)
第四階段:手機(jī)無線應(yīng)用開發(fā)單元模塊內(nèi)容項(xiàng)目可勝任的崗位CS結(jié)構(gòu)框架Server端的實(shí)現(xiàn)Client端的實(shí)現(xiàn)
客戶端和服務(wù)器的鏈接聊天工具《手機(jī)信使》JAVA網(wǎng)絡(luò)工程師3G手機(jī)網(wǎng)游工程師數(shù)據(jù)傳輸數(shù)據(jù)打包數(shù)據(jù)發(fā)送數(shù)據(jù)解包手機(jī)版《玻璃寶貝》數(shù)據(jù)庫在網(wǎng)絡(luò)游戲中的應(yīng)用數(shù)據(jù)庫鏈接數(shù)據(jù)處理。
企業(yè)定制課程3D手機(jī)游戲中的特效實(shí)現(xiàn)根據(jù)企業(yè)提供的技術(shù)標(biāo)準(zhǔn)與技術(shù)手冊開發(fā)企業(yè)級項(xiàng)目按企業(yè)需求定制具有職業(yè)素養(yǎng),具備專業(yè)技能“網(wǎng)絡(luò)游戲服務(wù)器端工程師”。