第一篇:廈門手機開發(fā)培訓之專業(yè)知識講解
廈門手機開發(fā)培訓之專業(yè)知識講解
我中心針對目前企事業(yè)單位信息技術(shù)研發(fā)人員對iphone/ipad技術(shù)的緊迫需求,設(shè)計推出了iphone實戰(zhàn)課程。主要講授appleiphone/ipad手機開發(fā)平臺的應(yīng)用開發(fā)、手機圖形系統(tǒng)、移動互聯(lián)網(wǎng)等開發(fā)。旨在提高學員在appleitouch、iphone4、iphone5、ipad等系列上開發(fā)高端應(yīng)用程序的能力。全面詳細講解在iphone平臺程序開發(fā)細節(jié),完整講述iphone應(yīng)用程序開發(fā)、構(gòu)建、發(fā)布整個過程。
廣大從事ios工作的it技術(shù)人員及愛好者,包括研發(fā)工程師、解決方案工程師、系統(tǒng)維護工程師等。
本課程使用最新的iphonesdk5.x版本,也就是ios5系列sdk開發(fā)程序。當然開發(fā)程序可以用于iphone,iphone3,iphone4,iphone5,ipad,ipad2等硬件上。通過4天的強化,可以讓學員在iphone系列手機上開發(fā)基本的ui應(yīng)用程序,網(wǎng)絡(luò)服務(wù)程序,多媒體服務(wù)和一些2d方面的動畫等目標。達到可以在iphone上開發(fā)基本的應(yīng)用程序的能力。本階段開始開始熟悉iphone應(yīng)用程序開發(fā)的工具:iphonesdk(xcode)。本階段會講解iphonesdk的基本用法,以及一些常用的快捷方式如:.h.m文件之間的快捷切換、appleapi的快速定位查看,幫助文檔的定位查看和創(chuàng)建工程需要注意的具體事宜。使學員達到對編程環(huán)境了如指掌,日后編程上手無障礙的目的。
語言之objective-c語言強化
本階段開始學習ios的特有的編程語言objective-c,該種語言屬于c/c++的一個變種,可以和c/c++混合使用。本階段講解objective-c語言的面向?qū)ο缶幊?,類的繼承,復合,多態(tài),id,動態(tài)識別,posing,protocols,內(nèi)存管理,autorelease等主要內(nèi)容。達到能夠熟練的編寫程序的能力。
第二單元ios開發(fā)
第二篇:廈門手機開發(fā)培訓Android手機模式分析
廈門手機開發(fā)培訓Android手機模式分析
第一部分其實游戲就是廈門博看文思讓狀態(tài)機不斷的讓Canvas在View上畫你想要的東西。這個狀態(tài)機包括內(nèi)部的執(zhí)行,還包括外部的輸入。
Android開發(fā)的MVC模式
1,通過View和SurfaceView來顯示界面的視圖。(處理界面與用戶的交互事件,如,觸筆點擊,用戶按鍵等??赏ㄟ^View類的onKeyDown,onKeyUp,onTouchEvent等)。
2,用Activity來控制游戲的整體結(jié)構(gòu)。
3,設(shè)計一個邏輯類,用來處理邏輯運算。
Android中任何一個View類都只有重寫onDraw方法來實現(xiàn)界面顯示。
Android中提供了
onKeyUp,onKeyDown,onKeyMultiple,onKeyPreIme,onTouchEvent,onTrackballEvent等方法??梢杂脕硖幚碛螒蛑械氖录?。所以繼承View時,需要重載這些方法。Android中提供了invalidate來刷新界面,但invalidate不能直接在線程中調(diào)用,違背單線程模型。
因此Android中最常用的方法是利用Handler來時更新UI界面。
第一部分View類
每個View類都有一個繪畫的畫布,在游戲中可以自定義視圖View,任何一個View類都只需要重寫onDraw方法來實現(xiàn)界面顯示,可以是3D,也可以是文本。
游戲的核心就是不斷的繪圖和刷新,圖我們可以通過onDraw方法繪制,刷新
Android中可以用invalidate方法來刷新界面,注意:invalidate不能直接在線程中調(diào)用,因其違背了
違背單線程模型。因此Android中最常用的方法是廈門博看文思利用Handler來時更新UI界面。下面這個例子中包含了兩個刷新方法。
第三篇:廈門手機開發(fā)培訓分析Android自動化解決方案
廈門手機開發(fā)培訓分析Android自動化解決方案
現(xiàn)在,已經(jīng)有大量的Android自動化測試架構(gòu)或工具可供我們廈門博看文思使用使用,其中包括:ActivityInstrumentation,MonkeyRunner,Robotium,以及Robolectric。另外LessPainful也提供服務(wù)來進行真實設(shè)備上的自動化測試。
Android自身提供了對instrumentation測試的基本支持,其中之一就是位于
android.test包內(nèi)的ActivityInstrumentationTestCase2類,它擴展了JUnit的TestCase類來提供Androidactivities的功能測試。在應(yīng)用測試中,每一個activity首先會被
Instrumentation初始化,然后再加載到Android模擬器或設(shè)備的Dalvik虛擬機中來執(zhí)行。
AndroidSDK自帶一個測試工具MonkeyRunner,它提供的API和執(zhí)行環(huán)境可以運行Python語言編寫的測試代碼。它提供API來連接設(shè)備,安裝/卸載應(yīng)用,運行應(yīng)用,截屏,比對圖片來判斷特定命令執(zhí)行后的屏幕是否包含預期信息,以及運行對應(yīng)用的測試。MonkeyRunner使用ActivityInstrumentationTestCase2,ProviderTestCase,ServiceTestCasek,SingleLaunchActivityTestCase及其他類來定義測試用例,并使用InstrumentationTestRunner類來運行測試。
Robotium是另一種通過InstrumentationTestRunner來完成Android交互式測試的架構(gòu),它橫跨多個activities,支持功能測試,系統(tǒng)測試和接收測試。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus甚至Honeycomb,并且它可以同Maven和Ant集成來完成持續(xù)集成測試。Robotium被稱之為針對Android應(yīng)用的又一個Selenium。
Robolectric另辟蹊徑,它并不依賴于Android提供的測試功能,它使用了
shadowobjects并且運行測試于普通的工作站/服務(wù)器JVM,不像模擬器或設(shè)備需要
dexing(Androiddex編譯器將類文件編譯成Android設(shè)備上的DalvikVM使用的格式),打包,部署和運行的過程,大大減少了測試執(zhí)行的時間。Pivotal實驗室聲稱使用Robolectric可以在28秒內(nèi)運行1047個測試。
廈門博看文思知道LessPainful將Android測試又推進了一步,它提供了一個多設(shè)備平臺自動化測試的服務(wù)。用戶上傳應(yīng)用(*.apk)和用Cucumber(一種業(yè)務(wù)相關(guān)的DSL)編寫的測試文件,選擇測試運行需要的設(shè)備配置,最后測試將自動執(zhí)行并生成測試報告。它支持的設(shè)備包括GarminAsus,幾款HTC,LG,SamsungGalaxy,SonyXperia和MotorolaMotodefy。
第四篇:關(guān)于手機開發(fā)難題及解決方法——廈門手機開發(fā)培訓為你解讀
關(guān)于手機開發(fā)難題及解決方法——廈門手機開發(fā)培訓為你解讀
開發(fā)難題
1、手機主要操作系統(tǒng)有:Android,i OS,Symbian , Windows Phone,Blackberry。要想克服不同手機平臺的差異,實現(xiàn)應(yīng)用的統(tǒng)一覆蓋異常困難;這個是基于系統(tǒng)內(nèi)核與硬件支持的差異性所導致的。
2、手機開發(fā)很難?開發(fā)人員稀缺,成本太高,進度太慢,無線網(wǎng)絡(luò)太復雜,門檻障礙太多這些都是過去的情況了。廈門博看文思指出,現(xiàn)的許多終端生產(chǎn)商或軟件公司都已經(jīng)意識到手機開發(fā)對于公司及產(chǎn)品發(fā)展都有著極其重要的作用,所以開發(fā)者都被愿意加入到這些公司中,這樣開發(fā)者集聚一起,實現(xiàn)了開發(fā)新模式——合作化。例如Google,Apple,魅族,小米等等
4、行業(yè)需要專業(yè)的角色,來解決開發(fā)應(yīng)用過程中的各種難題,將復雜難題封裝簡單,把各種異構(gòu)封裝透明,降低大家進入這個市場的門檻,解決方法
經(jīng)過全行業(yè)長達多年的不斷探索,業(yè)界主張將MKey無線中間件作為標準化的無線開發(fā)平臺,進行手機開發(fā)和手機應(yīng)用。廈門博看文思指出,利用MKey無線中間件進行手機開發(fā),不僅能夠解決上述的各方面開發(fā)難題,而且在成本控制、開發(fā)周期、開發(fā)難度等方面,均是目前最為出色的實現(xiàn)方法,整體開發(fā)技術(shù)水平相較國外無線開發(fā)而言,也顯得十分突出。
MKey無線中間件屏蔽了各種硬件平臺、操作系統(tǒng)、無線網(wǎng)絡(luò)和數(shù)據(jù)源的差異,將所有技術(shù)難點進行了統(tǒng)一封裝,可幫開發(fā)者快速、低成本實現(xiàn)移動化開發(fā)應(yīng)用。
第五篇:廈門手機開發(fā)培訓—軟件工程師談Android開發(fā)經(jīng)驗
廈門手機開發(fā)培訓—軟件工程師談Android開發(fā)經(jīng)驗
Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序組成,是首個真正為移動終端打造的開放并且完整的移動平臺。2008年9月
22日,美國運營商T-MobileUSA在紐約正式發(fā)布第一款Google手機,即T-MobileG1,廈門博看文思知道從那個時候起,Android的時代就真正的來臨了。
從Android1.0至今經(jīng)歷了多次的版本更新,其中重要的變更是1.5、2.0和2.2。而其他的版本更新相對而言并不是那么重要。另外,由于每次更新都會多少改動包括Dalvik在內(nèi)的底層模塊,同時牽扯到SDK,導致了一些程序需要跟著Android版本進行變動。對于相對較為保守的開發(fā)人員而言,快速的版本更新將給他們帶來越來越大的限制。在這種情況下,Android開源的意義就顯得不是那么大了。
無論如何,由于Android與Google服務(wù)的緊密捆綁,這款操作系統(tǒng)擁有了得天獨厚的優(yōu)勢。通過Google強有力的支持,很多事情在Android上都會變得很簡單。另外需要特別提出的是,Android是一款基于互聯(lián)網(wǎng)的操作系統(tǒng),在可以連接上互聯(lián)網(wǎng)的情況下,一款Android手機可以發(fā)揮出比其他手機更多的能力。而在沒有網(wǎng)絡(luò)的情況下,Android手機并不比其他的手機出色,尤其是娛樂性相對于iPhone可以說是遜色不少。作為廈門博看文思開發(fā)人員,應(yīng)當在學習并深入了解Android之后,在自己的軟件中,將Android的優(yōu)勢發(fā)揮出來,同時通過一些手段去彌補Android本身的缺陷或不足。下面來看一下廈門博看文思Android擁有的特點吧:
?與硬件交互非常方便,包括攝像頭、GPS等,都可以簡單的操作。
?擁有自己的運行時和虛擬機,優(yōu)秀的內(nèi)存管理能力。
?提供豐富的界面控件供開發(fā)者使用,允許可視化開發(fā),并保證Android平臺下的應(yīng)用程序界面一致。
?提供輕量級的進程間通信機制。
?支持無界面的后臺服務(wù)類應(yīng)用程序。
?支持高效、快速的數(shù)據(jù)存取方式。
在這些特性的支持下,試圖在Android下開發(fā)一個應(yīng)用不會太過困難。事實上,一個稍有Java經(jīng)驗的開發(fā)人員,都可以快速的上手進行Android的開發(fā)。而開發(fā)的核心,一直以來也是圍繞著Android手機幾個大的特點來進行的,其中就包括了觸摸屏、攝像頭、GPS模塊、互聯(lián)網(wǎng)功能、語音輸入、Google賬戶等。需要說的是,如果一位J2ME工程師想轉(zhuǎn)行做Android,那么他將付出的代價比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)驗。誠然,經(jīng)驗決定了一位開發(fā)人員能否快速地、流暢地完成開發(fā)工作,也決定了軟件的魯棒性,Bug的數(shù)量、等級和修正問題的返工次數(shù)。不過我認為,這些都不重要,哪怕是一個
Android行業(yè)的新人,一邊查詢文檔一邊做開發(fā),雖然效率會很低,但是一樣能把項目做完。在Android下,開發(fā)技術(shù)幾乎是沒有瓶頸的。那么瓶頸在哪里呢?事實上,在用過很多軟件后,就會發(fā)現(xiàn),有很多軟件并不好用。很多用戶不愿意用某個軟件,也并不是因為軟件沒有技術(shù)含量或是滿足不了需求,原因很簡單,就是不好用。