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