
摘 要 選擇Android應用程序開發作為手持設備應用軟件開發課程的教學內容,對教學前的準備、教學內容的選取、項目教學法的實施以及標準考試與加分相結合的考核方法等方面進行詳細闡述。實踐結果表明,教學效果良好。
關鍵詞 Android;應用軟件開發;手持設備
中圖分類號:G642.4 文獻標識碼:A 文章編號:1671-489X(2011)24-0033-03
Research on Teaching Method of Handheld Applications Development Course//Yang Fengnian, He Wende, Zhou Jing, Liu Huafu
Abstract Android applications development is selected as the teaching contents of Handheld Applications Development course. The preparation for teaching, the selection of teaching contents, implementation of the project approach, and the methods of assessment which combines exam with adding scores are elaborated in this paper. The teaching method has been implemented from last year, and good results have been achieved.
Key words Android; applications development; handheld
Author’s address Department of Computer Science and Technology, Changsha University, Changsha, China 410003
1 前言
Android是Google于2007年11月推出的基于Linux內核的開源手機操作系統,是HTC、Motorola、華為等企業多款智能手機的操作系統平臺。市場調研公司Canalys于2011年5月4日發布的一季度全球智能手機市場統計報告顯示,Android系統機型繼續領跑智能機市場,份額達到35%[1]。然而,目前Android智能手機用戶可用的第三方應用軟件并不豐富,為了滿足不斷增長的應用軟件需求,企業對Android應用程序開發人才的需求已大大增加,希望在不久的將來,Android用戶在“Android Market”中通過購買,就可以獲得所需要的應用軟件。
手持設備應用軟件開發課程是長沙學院軟件工程專業嵌入式系統方向的限選課,以及其他專業方向的選修課。前幾年,該課程的教學內容是基于J2ME軟件開發,教學沒有針對具體的硬件或系統平臺,實驗課沒有配備特定硬件設備,軟件僅在模擬器上運行,不適合進行與硬件相關的程序設計。Google從2010年開始與高校合作,幫助中國高校建立起智能手機移動應用開發課程體系,培養移動應用開發人才。在此戰略的推動下,長沙學院已經于2011年上學年將該課程的教學內容更改為基于Android平臺的智能手機軟件開發技術。
2 教學方法的實施
2.1 前期準備工作
1)師資培訓。近年來隨著嵌入式技術的迅猛發展,嵌入式系統平臺越來越豐富,如Windows CE、Linux、Symbian、BlackBerry、Android、iPhone OS等。通常,不同的系統平臺有不同的應用程序開發技術,Android平臺出現的時間不長,因此,目前國內熟練掌握Android平臺應用程序開發技術的教師還很少,建議選派具有嵌入式系統和Java編程基礎的教師參加培訓和課程研討會,并與先期已開設類似課程的高校加強交流,課程資料還可以從http://www.google.com/intl/zh-CN/corporate/university/courses.html處下載。
2)軟件、硬件試驗平臺的配備。①開發環境:IDE——Eclipse 3.3,3.4,3.5,3.6(helios);Eclipse plug-in——ADT 1.0或者http://dl-ssl.google.com/android/eclipse/;Android SDK;JDK 5 or JDK 6(單獨的JRE不可以,必須要有JDK)。②Android SDK所支持的操作系統:Windows XP(32-bit)or Vista(32- or 64-bit);Mac OS X 10.4.8 or later(x86 only);Linux(tested on Linux Ubuntu Dapper Drake);③智能手機:華為E8500;Moto Milestone。
2.2 前期教學內容的組織
本課程的學習可以分為兩個階段:基礎知識學習階段和軟件開發的項目教學法實施階段。在學習基于Android平臺的智能手機軟件開發技術之前,必須讓學生對Android平臺有宏觀上的認知。
1)Android的系統架構。Android是一個開放的軟件系統,為用戶提供豐富的移動設備開發功能,從下至上包括4個層次:如圖1所示Android的系統架構。
第一層是Linux內核層,包括Linux操作系統及驅動,依賴于Linux2.6內核。
第二層是核心的擴展類庫,如SQLite、WebKit、OpenGL等,它們可以通過Java本地調用JNI(Java Native Interface)的接口函數實現和上層之間的通信。該層由Android的Java虛擬機Dalvik和基礎的Java庫為Java運行環境提供Java編程語言核心庫的大多數功能。
第三層是包含所有開發所用的SDK類庫和某些未公開接口類庫的框架層,是整個Android平臺核心機制的體現。
第四層是應用層。系統部分應用和第三方開發的應用都位于該層,兩者不盡相同,其中系統應用會用一些隱藏的類,而第三方應用是基于SDK基礎上開發。一般Android開發是在SDK基礎上用Java編寫應用程序,但本機開發程序包NDK提供應用層穿越Java框架層直接和底層包含JNI接口的C/C++庫直接通信的方法。
2)Android平臺具有的特點:與硬件交互方便,像攝像頭、GPS等,對其操作都較簡單;具有自己的運行時和虛擬機,以及優秀的內存管理能力;提供豐富的界面控件供開發者使用,允許可視化開發;提供輕量級的進程間通信機制;支持無界面的后臺服務類應用程序;支持高效、快速的數據存取。
3)Java語言。Android所支持的Java語言是J2SE的子集,而J2ME的功能相對較弱。如果J2ME工程師想轉行做Android,那么他要付出的代價比J2SE或J2EE工程師要大得多。最理想的情況是,該課程開設時學生已經具備J2EE的相關知識。
4)Android應用程序的組成。嵌入式系統是各種資源受限的系統,應用程序的構成方式與基于PC機的應用程序有很大的不同。Android應用程序主要由4部分組成:活動(Activity),一個活動就是手機屏幕的一屏;意圖(Intent),一個意圖就是一次對將要執行的操作的抽象描述;服務(Service),一個服務就是一個沒有界面、后臺運行的程序,如音樂播放器;內容提供者(Content Provider),是封裝在自定義API中的一組數據,可以讀取該數據和向API中寫入數據。例如,Google為聯系人程序提供一個內容提供者,任何需要使用聯系人信息的應用程序都可共享其中的所有信息,包括姓名、地址、電話號碼等。
5)獨特的編程風格:用戶體驗至上原則。與其他應用程序開發相比,對于智能手機軟件,用戶體驗凌駕于技術之上,優秀的用戶體驗可以起到事半功倍的效果。對于同類軟件,在互聯網上的軟件下載排行中,下載量最大的,一定是讓用戶用著感覺最舒服的,哪怕它的功能并不比其他的產品出色。對于不同的觸摸屏的技術,相應的屏幕界面的設計風格也不盡相同。對于電阻式觸摸屏,通常會用筆尖或指甲來點擊圖標,那么界面的圖標稍小、排列緊密可以容忍;而對于電容式觸摸屏,用戶更習慣使用指腹而非指甲點擊屏幕,這就要求界面圖標布局不太密、圖標較大,這樣不一定好看,但是好用。
在學生具備以上基礎知識以后,再通過實施項目教學法,培養學生的智能手機軟件開發能力。
2.3 項目教學法的實施
項目教學法是由美國教育家凱茲博士和加拿大教育家查德博士在合著的《項目教學法》中共同提出的一種以學生為中心的教學方法[2],學生在教師的指導下親自處理一個項目的全過程,在這一過程中學習掌握教學內容。學生獨立組織、安排學習行為,解決在項目實施中遇到的困難,提高學習興趣,能調動學習積極性。心理學研究結果表明:當感受類型是“聽”時,記憶保持率為20%;當感受類型是“看”時,記憶保持率為30%;當感受類型是“聽+看”時,記憶保持率為50%;當感受類型是“親身實踐”時,記憶保持率為90%[3]。
可選用以下幾個案例程序作為教學項目:RSS閱讀器、豆瓣網客戶端、在線音樂播放器、手機短信查看軟件、個人移動地圖。項目選取的原則是既要包含基本的教學知識點,又要難度適中,能調動學生的積極性和主動性,在教學中還要注重師生共同參與。
項目教學法的教學過程分為7個步驟:明確任務、收集信息、制定計劃、進行決策、組織實施、過程檢查、結果評估。
明確任務:教師指定教學項目,幫助學生理解任務;學生知道自己要做什么,要學習哪方面的知識,要練習哪方面的技能。
獲取信息:教師提供相關參考資料供學生查閱以獲取有關信息,補充必要的知識和技能,教師答疑解惑。
制定計劃:學生明確任務后組成學習小組,小組合作學習,制定可行的工作計劃。分組要注意基礎好和基礎一般學生的合理搭配,以便學生互相學習和項目的按時完成。
做出決定:各小組制定計劃、提出方案,由全班討論,教師適時評判,確立本項目的最佳實施方案。
組織實施:將大項目分成幾個模塊分別實現。項目實施時,教師在理論課上做示范,學生可以隨時提問題,教師對學生提出的問題做出解答;在實驗課上,學生根據計劃完成自己的任務,教師觀看、指導。學生按計劃實施,在實施過程中能具體地對自己所負責的項目模塊所涉及的知識點進行學習。
過程檢查:學生在完成項目的過程中,自己檢查工作過程、結果,出現問題時請老師和同學幫助解決。
結果評估:學生完成項目后,對成果進行展示與自我評價。教師對學生在整個學習過程中出現的問題予以評價,對于學生在設計與實現過程中出現的問題要及時糾正。
學生親身經歷從項目規劃到生產出產品的整個過程,就能夠感受到成功的喜悅,激發自主學習的欲望,從而能以更大的熱情投入下一個項目的學習。
2.4 教學效果的評價
考核方法以項目為主,體現能力培養特色。考核方式分為標準考核和加分兩種方法。標準考核通過者或免試資格獲得者即達到該課程的考核要求并獲得響應學分。標準考核為全面考核方式,總分值為100分,其中理論考試40分,項目完成情況60分。理論考試為閉卷考試,考試時間為1小時,著重考核相關理論知識;在項目開發環節,學生可根據自身在項目中擔任的角色和完成工作量的情況,獲得不同的分數。本課程鼓勵學生獨立或組隊參加校級以上學科競賽,在國內外相關競賽中的獲獎者都可以在期末總評成績中視獲獎情況酌情加分,省級以上相關競賽的獲獎者即可得到本課程的滿分成績。
3 總結
教學實踐表明,實施該教學方法后,大多數學生的Android應用程序開發能力得到較大提高,緊接著還安排與該課程配合的課程設計培養環節,使學生基本具備Android應用程序開發能力。目前,國內熟悉該開發技術的人才還十分有限,企業對相關技術人才需求卻不斷增加,因此很多學生畢業后已在沿海地區從事Android應用程序開發工作,待遇較好,這樣將更加激發下一屆學生對該課程的學習熱情。同時教師經過教學實踐,教學水平也得到提高。
參考文獻
[1]曉明.Android智能機一季度全球份額升至35%[EB/OL].http://tech.sina.com.cn/t/2011-05-05/10175483943.shtml
[2]肖勝陽.在計算機課程教學中開展項目教學法的研究[J].電化教育研究,2003(10):72-76
[3]劉衛珍.項目教學法[EB/OL].http://www.bjesr.cn/esrnet/site/bjjykyw/zcjyjyyj/jxyj1/004df00123fe296e27.ahtml
[4]靳巖,姚尚朗.Google Android開發入門與實戰[M].北京:人民郵電出版社,2009