蔣曉南
【摘 要】 針對(duì)高職高專院校課程教學(xué)中Android系統(tǒng)應(yīng)用開發(fā)存在的學(xué)生有興趣、教材難選擇、教學(xué)有難度等問題,應(yīng)科學(xué)選擇教材,改進(jìn)實(shí)驗(yàn)環(huán)境與應(yīng)用測(cè)試方法,做好教學(xué)切入點(diǎn)與內(nèi)容擴(kuò)展延伸工作。
【關(guān)鍵詞】 高職高專院校;Android;應(yīng)用開發(fā);教學(xué)方法
一、緒論
Android(安卓操作系統(tǒng))是一個(gè)以Linux為基礎(chǔ)的半開源操作系統(tǒng),目前廣泛應(yīng)用在手機(jī)、平板電腦及數(shù)字電視上,由Google和開放手持設(shè)備聯(lián)盟開發(fā)與領(lǐng)導(dǎo)。Android 系統(tǒng)最初由安迪·魯賓(Andy Rubin)制作,最初主要支持手機(jī)。2005年8月17日被Google收購。2007年11月5日,Google與84家硬件制造商、軟件開發(fā)商及電信營(yíng)運(yùn)商組成開放手持設(shè)備聯(lián)盟(Open Handset Alliance)來共同研發(fā)改良Android系統(tǒng)并生產(chǎn)搭載Android的智能手機(jī),并逐漸拓展到平板電腦及其他領(lǐng)域上。隨后Google以Apache免費(fèi)開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。
經(jīng)上述對(duì)Android歷史的簡(jiǎn)單介紹,我們可以知道由于Android免費(fèi)開源,不僅在智能手機(jī)領(lǐng)域占有很大的市場(chǎng)份額,也在其它智能設(shè)備領(lǐng)域得到廣泛應(yīng)用,因此市場(chǎng)對(duì)Android程序員的需求量也很大。如果能夠很好的掌握在Android平臺(tái)上進(jìn)行應(yīng)用開發(fā),對(duì)高職高專學(xué)生的就業(yè)將有很好的推動(dòng)作用。
雖然Android的應(yīng)用在工業(yè)上早已經(jīng)普及,但是在教學(xué)上它還屬于一門新興課程。并且隨著Android系統(tǒng)的飛速發(fā)展,使得教學(xué)上一直未能形成成熟的教學(xué)方法。因此,作者作為高職高專教師,想就Android教學(xué)中的體驗(yàn)談一談教學(xué)方法。
二、Android教學(xué)中的感受
1、學(xué)生有興趣
手機(jī)作為現(xiàn)代人通信和娛樂生活的必備品已經(jīng)有很長(zhǎng)時(shí)間,Android手機(jī)的用戶更是占大多數(shù),所以學(xué)生對(duì)于這樣一門講解Android應(yīng)用開發(fā)的課程普遍存在濃厚興趣。有興趣是一個(gè)非常好的開始,它可以順利推動(dòng)教學(xué)的開展。然而如何讓這種興趣持續(xù)存在不減退,是值得研究的問題。
2、教材難選擇
作為一門新興課程,Android的教材五花八門,切入點(diǎn)各有不同,大致可以分為初級(jí)、中級(jí)和高級(jí)。個(gè)人認(rèn)為,高職高專院校應(yīng)該選用入門級(jí)的教材。然而,作者發(fā)現(xiàn)很多入門級(jí)教材雖然知識(shí)點(diǎn)全面,但選用的案例普遍規(guī)模較大難度較高,很容易讓初學(xué)者失去學(xué)習(xí)興趣和學(xué)習(xí)信心,不太適合在教學(xué)中講解。
所以,作者認(rèn)為,如果可以找到利用很多有趣小案例融會(huì)貫通各個(gè)知識(shí)點(diǎn)的教材那將是非常好的選擇,但如果找不到不妨不用教材而使用自己編寫的講義。
3、教學(xué)有難度
Android應(yīng)用開發(fā)要求設(shè)計(jì)者有JAVA基礎(chǔ),當(dāng)然如果有JAVAEE的開發(fā)經(jīng)驗(yàn)會(huì)更好。因此,開設(shè)Android應(yīng)用開發(fā)之前,至少先要開設(shè)JAVA程序設(shè)計(jì)的課程。如果沒有很好的掌握J(rèn)AVA程序設(shè)計(jì)的方法將很難開展Android應(yīng)用開發(fā)的教學(xué)。
然而我們知道,程序設(shè)計(jì)類的課程在高職高專院校的教學(xué)效果是堪憂的,學(xué)生往往因?yàn)閷?duì)自己邏輯思維能力沒有信心或是缺乏興趣,導(dǎo)致學(xué)習(xí)效果很差,甚至導(dǎo)致對(duì)這一類課程的學(xué)習(xí)完全喪失自信心。所以當(dāng)學(xué)生發(fā)現(xiàn)Android應(yīng)用開發(fā)會(huì)是使用JAVA語言進(jìn)行大量程序設(shè)計(jì),往往最初的興趣與熱情會(huì)大打折扣,甚至在接下來的學(xué)習(xí)中慢慢失去信心和動(dòng)力。
因此,在高職高專院校如何開展好JAVA程序設(shè)計(jì)的教學(xué),是一個(gè)值得研究的問題。在作者的另一篇論文“淺談高職高專院校JAVA程序設(shè)計(jì)的課程教學(xué)方法”中對(duì)此問題進(jìn)行了比較詳細(xì)的討論。
另一方面,由于國內(nèi)的限制,用戶很難獲取更全更新的官方資料,例如開發(fā)工具、文檔等等。雖然隨著時(shí)間的推移,在國內(nèi)網(wǎng)站也可以獲取到較全面的資料,但是新的問題也隨之出現(xiàn)。如果使用Eclipse搭配Android插件作為開發(fā)工具,往往會(huì)遇到因版本不匹配而無法正常運(yùn)行的現(xiàn)象;而如果使用官方推薦的開發(fā)工具android studio,往往又會(huì)遇到因教學(xué)PC配置不夠高而導(dǎo)致運(yùn)行速度太慢的現(xiàn)象。
三、Android教學(xué)方法的建議
以上諸多問題都會(huì)影響到Android應(yīng)用開發(fā)的教學(xué)效果,所以作者只能根據(jù)多年的教學(xué)經(jīng)驗(yàn)就一些可控因素提出一些不成熟的建議提供參考。
1、教材選擇的建議
前文中有提到,如果可以找到利用很多有趣小案例融會(huì)貫通各個(gè)知識(shí)點(diǎn)的Android教材,那應(yīng)該是很不錯(cuò)的選擇;但是如果找不到,也可以多參考幾種教材,選取其中適合用于教學(xué)的內(nèi)容編寫講義,再在網(wǎng)絡(luò)上搜索適合的案例用來充實(shí)教學(xué)內(nèi)容。
2、實(shí)驗(yàn)環(huán)境與應(yīng)用測(cè)試的建議
實(shí)驗(yàn)環(huán)境:
(1)前文中也有提到,如果學(xué)校有較好的PC開展此項(xiàng)教學(xué),那么android studio是一個(gè)很好的選擇。先安裝JDK接著安裝android studio即可完成實(shí)驗(yàn)環(huán)境的搭建,不需要安裝其它任何插件也不需要進(jìn)行繁瑣的配置,非常方便,穩(wěn)定性也非常好。
然而,如果學(xué)校用于教學(xué)的PC比較陳舊,那么選擇android studio會(huì)讓你崩潰,運(yùn)行速度之慢令你難以想象,幾乎無法開展教學(xué)。這時(shí)你還有(2)(3)兩種選擇。
(2)使用Eclipse搭配Android插件。大致過程是:先安裝JDK;然后安裝Eclipse;接著安裝Android SDK;接下來在Eclipse中安裝ADT插件,這一步比較麻煩,安裝過程中會(huì)連接到官方網(wǎng)站下載數(shù)據(jù),這時(shí)需要將地址改為國內(nèi)的一些鏡像,否則下載速度太慢;最后再進(jìn)行一系列的配置完成實(shí)驗(yàn)環(huán)境的搭建。
需要說的是這種方法雖然也比較常見,但安裝過程繁瑣,而且需要保證JDK、Eclipse、Android SDK、ADT的版本兼容性,尤其是Android SDK和ADT必須保證版本統(tǒng)一,否則無法正常運(yùn)行。endprint
由于此方法安裝過程繁瑣,出現(xiàn)問題的幾率也很大,所以作者不建議在教學(xué)中采用這種方法。
(3)使用配置好的ADT Bundle。ADT Bundle是官方發(fā)布的以Eclipse為基礎(chǔ)并集成了Android SDK和ADT插件的集成IDE工具,它已經(jīng)完成了所有組件的安裝和配置,可以直接使用。所以只要先安裝JDK,然后解壓ADT Bundle,就可以完成實(shí)驗(yàn)環(huán)境的搭建。
需要注意的是ADT Bundle在更新升級(jí)上會(huì)有比較大的問題,因?yàn)槟阈枰紤]到Android SDK和ADT的版本兼容性,這樣就又回到上一種方法的問題漩渦。
雖然不能保證使用到最新的Android組件與功能,但是就教學(xué)而言,不升級(jí)也沒問題,加之此方法安裝簡(jiǎn)單無需配置,所以作者推薦在教學(xué)中使用。
應(yīng)用測(cè)試:
談到手機(jī)應(yīng)用的測(cè)試,大家首先會(huì)想到模擬器。模擬器是在實(shí)驗(yàn)環(huán)境下啟動(dòng)的虛擬手機(jī)設(shè)備,用于測(cè)試手機(jī)應(yīng)用程序。模擬器的運(yùn)行速度和穩(wěn)定性在不同實(shí)驗(yàn)環(huán)境下的表現(xiàn)也有所不同。總的來說,在Android Studio下模擬器的運(yùn)行表現(xiàn)比較好,而在基于Eclipse的實(shí)驗(yàn)環(huán)境下表現(xiàn)比較差。
如果學(xué)校用于教學(xué)的PC設(shè)備能夠滿足Android Studio的運(yùn)行要求,那么不必考慮以下問題。如果因?yàn)镻C設(shè)備陳舊而使用后兩種實(shí)驗(yàn)環(huán)境,那么模擬器的運(yùn)行也是一個(gè)讓人煩惱的問題,因?yàn)樗俣群苈也粔蚍€(wěn)定。
在這種情況下,對(duì)實(shí)驗(yàn)內(nèi)容的測(cè)試還有兩個(gè)選擇:
(1)可以選擇聯(lián)機(jī)測(cè)試,即利用數(shù)據(jù)線連接真實(shí)手機(jī)與PC,對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行測(cè)試。當(dāng)然,這種方式也有它的缺點(diǎn),即需要在PC上安裝手機(jī)驅(qū)動(dòng),而不同品牌型號(hào)的手機(jī)驅(qū)動(dòng)也不同,不一定能保證每部手機(jī)都能夠成功安裝驅(qū)動(dòng),所以作者并不推薦。
(2)可以選擇打包后發(fā)送,即利用實(shí)驗(yàn)環(huán)境直接將實(shí)驗(yàn)內(nèi)容打包成.APK文件,通過QQ或者各種免費(fèi)WIFI軟件發(fā)送到手機(jī),然后安裝測(cè)試。這種方式不需要數(shù)據(jù)線也不需要安裝驅(qū)動(dòng),是一個(gè)不錯(cuò)的選擇,作者推薦。
3、教學(xué)切入點(diǎn)與內(nèi)容擴(kuò)展延伸的建議
教學(xué)切入點(diǎn):
作者認(rèn)為,應(yīng)該以一個(gè)簡(jiǎn)單的圖形化應(yīng)用作為切入點(diǎn)開始Android的教學(xué)。(例如:制作兩個(gè)小貓小狗圖案的按鈕,點(diǎn)小貓就可以聽見貓叫,點(diǎn)小狗就可以聽見狗叫。)并且最好在真實(shí)手機(jī)上進(jìn)行演示,這樣可以極大地提起學(xué)生的學(xué)習(xí)興趣和積極性。
通過這個(gè)簡(jiǎn)單應(yīng)用可以直接引入Activity以及相關(guān)的圖形組件,接著可以引入Android應(yīng)用的設(shè)計(jì)模式和事件處理方法,最后引入打包和測(cè)試的方法。
為鞏固所學(xué)知識(shí),增強(qiáng)學(xué)生動(dòng)手能力,可以讓學(xué)生自主設(shè)計(jì)類似應(yīng)用進(jìn)行練習(xí)。
內(nèi)容的擴(kuò)展與延伸
如果平穩(wěn)起步,接下來就可以將教學(xué)內(nèi)容進(jìn)行逐步地?cái)U(kuò)展與延伸。大致可分為以下三個(gè)階段:
第一階段:
首先,利用更復(fù)雜的界面設(shè)計(jì)案例引入界面布局的相關(guān)知識(shí)。
接著,利用界面切換的案例引入Intent以及Activity生命周期的相關(guān)知識(shí)。
最后,利用“打電話”、“發(fā)短信”這樣的小應(yīng)用案例引入DDMS視圖和程序調(diào)試技術(shù)的相關(guān)知識(shí)。
第二階段:
首先,利用類似“音樂播放器”這樣應(yīng)用案例引入Service的相關(guān)知識(shí)。
接著,引入消息處理和Status Bar Notifications的相關(guān)知識(shí)。
最后,引入Broadcast receivers和數(shù)據(jù)存儲(chǔ)的相關(guān)知識(shí)。
第三階段:
首先,如果還有充足的學(xué)時(shí),可以選用一些合適規(guī)模的案例引入Content Providers的相關(guān)知識(shí)。
接著,再選用一些合適規(guī)模的案例對(duì)以往所學(xué)知識(shí)進(jìn)行復(fù)習(xí)總結(jié)。
最后,對(duì)以往的案例進(jìn)行回顧,并以課程設(shè)計(jì)或者大作業(yè)的形式進(jìn)行考核。
四、總結(jié)
經(jīng)實(shí)踐檢驗(yàn),此教學(xué)方法可以讓學(xué)生對(duì)Android應(yīng)用開發(fā)有一個(gè)整體認(rèn)識(shí),且學(xué)習(xí)始終保持高度興趣與積極性。當(dāng)然,這樣的方法會(huì)對(duì)Android深層細(xì)節(jié)的講解有所遺漏,知識(shí)點(diǎn)覆蓋不全面。然而,興趣是學(xué)習(xí)的最佳動(dòng)力,有了興趣和必備的基礎(chǔ)知識(shí),入門的教學(xué)目的已經(jīng)達(dá)到。
【參考文獻(xiàn)】
[1] 何紅輝.Android源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)[m].人民郵電出版社.
[2] 顧浩鑫.Android高級(jí)進(jìn)階[m].電子工業(yè)出版社.
[3] 林學(xué)森.深入理解Android內(nèi)核設(shè)計(jì)思想[m].人民郵電出版社.endprint