王杰
(廣東開放大學,廣東廣州,510091)
基于Android與App Inventor的移動學習資源開發(fā)實踐與思考
王杰
(廣東開放大學,廣東廣州,510091)
移動學習已經(jīng)成為一種新的學習形式,但移動學習資源需要專業(yè)技術(shù)人員協(xié)助開發(fā)建設(shè),開發(fā)成本高、周期長,制約了移動學習資源的建設(shè)步伐。隨著信息技術(shù)的發(fā)展,出現(xiàn)了一種新的基于Android系統(tǒng)的可視化編程工具App Inventor。App Inventor是一個在線開發(fā)的編程環(huán)境,使用搭積木的方法開發(fā)Android移動學習資源。由于App Inventor具有簡單、易學、易用的優(yōu)點,教師可以應用App Inventor方便自主地開發(fā)移動學習資源。目前App Inventor的功能還比較弱,還需進一步的改進和完善。
Android;App Inventor;移動學習資源;組件設(shè)計;邏輯設(shè)計
移動學習(Mobile Learning,簡稱M-Learning)是一種借助移動終端設(shè)備(如智能手機、平板電腦)實現(xiàn)的可以在任何時間、任何地點開展的學習。移動學習所使用的移動終端設(shè)備能夠有效地呈現(xiàn)學習內(nèi)容,并且提供教師與學習者之間的雙向交流。移動學習在數(shù)字化學習E-Learning基礎(chǔ)上通過有效結(jié)合移動終端設(shè)備和移動通信技術(shù),能夠帶給學習者隨時、隨地、隨身學習的全新感受[1]。
移動學習資源是指能支持開展移動學習的信息資源和移動應用程序,是移動學習系統(tǒng)的重要組成部分,建設(shè)豐富的移動學習資源是開展移動學習的重要條件。
移動學習已經(jīng)成為目前教育技術(shù)研究的重點和熱點,有許多學者、教師及技術(shù)人員參與移動學習研究與應用,但目前移動學習資源不僅種類和數(shù)量較少,且質(zhì)量也不高,究其原因有以下幾點:
1.移動學習資源開發(fā)難度大,目前移動平臺操作系統(tǒng)有多種,無論選用哪種移動平臺操作系統(tǒng),都必須搭建復雜的開發(fā)環(huán)境,花費一定的時間學習程序設(shè)計語言,才能進行開發(fā)。
2.由于行業(yè)性質(zhì)決定,目前移動應用開發(fā)的技術(shù)人員主要集中在移動互聯(lián)網(wǎng)企業(yè)、IT企業(yè)、金融、電信等行業(yè)中,在教育行業(yè)中從事移動開發(fā)的技術(shù)人員比較少。
3.移動學習資源建設(shè)需要將教師的教學資源、教學設(shè)計、教學活動與移動開發(fā)技術(shù)有機結(jié)合起來,但目前移動應用開發(fā)技術(shù)人員與教師是分隔的。長遠來看,必須讓更多的教師參與移動學習資源建設(shè),才能涌現(xiàn)出更多、更優(yōu)質(zhì)的移動學習資源。
4.目前移動學習資源建設(shè)與開發(fā)周期長、成本高,限制了移動學習資源的建設(shè)與進一步發(fā)展。
移動學習給現(xiàn)代遠程教育與在線教育帶來的不僅是移動設(shè)備和資源所提供的學習支持上的便利,更多是有助于構(gòu)建一種適合個性化學習的學習情境,形成不受時空限制的學習和交互的信息化學習環(huán)境,移動學習的發(fā)展為實現(xiàn)“隨時、隨地、隨身”學習提供了新的可能性及實現(xiàn)途徑[2]。因此,研究和推廣新的移動學習應用平臺和開發(fā)工具勢在必行。
以智能手機為代表的移動終端設(shè)備的大量涌現(xiàn)及普及,和飛速發(fā)展的移動通信,為移動學習的開展打下了良好的基礎(chǔ),任何使用移動設(shè)備的人都可以成為移動學習中的學習者或教育者。
智能手機,是指具有獨立的操作系統(tǒng),用戶可以自行安裝各種類型的移動應用程序APP,通過程序可以對手機的功能進行擴充,并可以通過移動通訊網(wǎng)絡(luò)(3G/4G/ Wi-Fi)來實現(xiàn)無線網(wǎng)絡(luò)接入的這樣一類手機的總稱。近幾年來,智能手機的應用范圍已經(jīng)遍布全世界,成為與人們生活息息相關(guān)的通信工具和生活工具。
目前智能手機使用的移動平臺操作系統(tǒng)有谷歌Android和蘋果iOS兩大系統(tǒng)。其中Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,由谷歌公司和開放手機聯(lián)盟領(lǐng)導及開發(fā)。據(jù)最新發(fā)布的報告稱,2013年8至10月三個月,Android在中國市場中所占據(jù)的份額為78.1%,2014上半年Android手機占據(jù)中國智能手機市場89.9%的份額。截至2015年12月,中國手機網(wǎng)民規(guī)模達6.20億,手機上網(wǎng)使用率為90.1%[3]。
由于智能手機具有開放式操作系統(tǒng),可以通過安裝軟件擴展功能,因此為學習者提供了新的選擇。智能手機的便攜性極大地推動了移動學習發(fā)展的進程,作為擴展的數(shù)字化教學輔助工具,智能手機可以顯著地提升信息化學習的質(zhì)量。
但目前移動學習資源建設(shè)需要專業(yè)人員開發(fā),要搭建復雜的開發(fā)環(huán)境,專門學習程序設(shè)計語言,開發(fā)成本高、周期長,制約了移動學習資源建設(shè)的步伐。隨著信息技術(shù)的發(fā)展,現(xiàn)在出現(xiàn)了一種新的基于Android系統(tǒng)的可視化編程工具App Inventor,這對于有意進行移動學習資源建設(shè)的用戶來說,無疑是一大福音。
(一)App Inventor的主要功能
App Inventor是谷歌公司面向Android移動平臺操作系統(tǒng)推出的以瀏覽器為基礎(chǔ)的移動應用程序開發(fā)工具,不需特殊復雜的開發(fā)環(huán)境安裝,用戶只要使用瀏覽器便能開發(fā)Android移動應用程序,并且用戶所設(shè)計的程序項目全部保存在云端服務(wù)器中。
App Inventor是一個完全在線開發(fā)的Android編程環(huán)境,它放棄了復雜的程序代碼,而使用“搭積木 + 玩拼圖”方法來開發(fā)Android移動應用程序。使用App Inventor開發(fā)不一定非要是專業(yè)的程序員,用戶根本不需要掌握任何程序設(shè)計語言,對于Android初學者來說是一大福音。開發(fā)App Inventor 應用程序從瀏覽器開始,首先設(shè)計移動應用程序的界面,接著設(shè)定程序的行為與事件,就像玩樂高積木一樣簡單有趣。
與傳統(tǒng)的Android移動應用程序開發(fā)技術(shù)對比,App Inventor具有入門簡單、零基礎(chǔ)等顯著優(yōu)點(見表1),普通用戶通過短時間學習就可以使用App Inventor開發(fā)移動應用程序。

表1 App Inventor與傳統(tǒng)Android開發(fā)技術(shù)對比
App Inventor原是Google Lab的一個子計劃,2012年,美國麻省理工學院(Massachusetts Institute of Technology,簡稱MIT)正式接手App Inventor項目,將其更名為“MIT App Inventor”,并繼續(xù)進行研發(fā),并對公眾免費開放使用。App Inventor網(wǎng)站為http://Appinventor.mit.edu。
App Inventor有兩個版本,App Inventor (現(xiàn)在稱為App Inventor Classic) 和App Inventor 第二版(App Inventor 2,簡稱AI2),AI2支持Android智能手機及平板電腦,從2014年開始,主要推廣與應用AI2版本[4]。
(二)App Inventor的特色
1.云+在線開發(fā)
“云+在線開發(fā)”是App Inventor的最大特色,開發(fā)環(huán)境是基于網(wǎng)站的形式架設(shè)在App Inventor服務(wù)器上的,用戶不需要安裝其他軟件,只需注冊一個郵箱賬號就可以隨時登錄App Inventor服務(wù)器進行Android移動應用程序的開發(fā)。用戶創(chuàng)建的應用程序工程項目都保存在云端,也就是App Inventor服務(wù)器中,用戶可以在家中、辦公室隨時進行移動應用程序開發(fā)。
2.可視化界面設(shè)計
App Inventor吸取了可視化的組件式界面設(shè)計思想,在App Inventor的設(shè)計界面中,用戶拖曳組件就可以實現(xiàn)程序界面的設(shè)計,包括用戶界面、多媒體、繪圖動畫等九大類型組件。這些組件都已經(jīng)封裝好,用戶可以直接拖曳使用。
3.拼圖式編程
對普通用戶來說,學習軟件開發(fā)需要先學習程序設(shè)計語言,如JAVA、C語言、Visual Basic等,而學習一門編程語言至少需要半年甚至更長的時間。App Inventor“拼圖式編程”則正是針對這一難題而設(shè)計的,它降低了技術(shù)門檻,學習者可以是“零”編程基礎(chǔ),即使是中小學生,只要有靈感都可以進行移動應用程序的開發(fā)[5]。
4.模擬器
App Inventor提供了模擬器的功能,點擊 “連接Connect”→“模擬器Emulator”,屏幕上會顯示“正在啟動Android模擬器,請等待,可能需要一至兩分鐘”,用戶可以在模擬器中調(diào)試應用程序,大大提高了開發(fā)效率。
(三)App Inventor的三大模塊
在App Inventor中主要有三大模塊,分別是組件設(shè)計Designer、邏輯設(shè)計Blocks和模擬器Emulator,不同的模塊有不同的功能,這三大模塊可以看作是MVC(模型Model、視圖View、控制器Controller的縮寫)框架的一種應用,很好地實現(xiàn)了數(shù)據(jù)與表示的分離(見表2)。

表2 App Inventor三大模塊介紹
應用App Inventor開發(fā)移動學習資源就相當于“搭積木”+“玩拼圖”,與傳統(tǒng)的Android手機開發(fā)需要搭建“Eclipse /Android Studio + SDK + JDK + ADT”的復雜環(huán)境、需要學習JAVA語言等相比,App Inventor就顯然簡單多了。
(一)App Inventor的開發(fā)準備工作
在使用App Inventor開發(fā)移動學習資源前,需要做一些準備工作。
1.申請App Inventor帳號:國內(nèi)最常用的App Inventor服務(wù)器是廣州市教育信息中心(電教館)服務(wù)器,可訪問http://app.gzjkw.net,使用自己的郵箱注冊帳號。國內(nèi)也有一些公開的App Inventor服務(wù)器,如http://ai2.17coding.net等,提供給用戶使用。需要說明的是,App Inventor開發(fā)的工程項目都保存在App Inventor的云端服務(wù)器上,用戶要選擇一個穩(wěn)定性高、訪問速度快的服務(wù)器來開發(fā)自己的項目。
2.瀏覽器準備:目前有許多瀏覽器在使用,App Inventor 2推薦使用谷歌Chrome、Mozilla Firefox、Apple Safari最新版本瀏覽器。從App Inventor 2開始,該程序不再支持Internet Explorer(或IE內(nèi)核)的瀏覽器,但支持Windows 10操作系統(tǒng)的Edge瀏覽器。
(二)App Inventor的程序結(jié)構(gòu)
App Inventor 程序由兩部分組成:組件設(shè)計(規(guī)劃程序界面)和邏輯設(shè)計(實現(xiàn)程序功能)。
1.組件設(shè)計
組件是構(gòu)成手機屏幕界面的基本單元要素,移動應用程序界面由許多組件組成,組件相當于樂高積木中的門、窗、屋頂?shù)炔考M件設(shè)計就相當于“搭積木”,如圖1所示。
組件面板(Palette)將組件分為用戶界面、多媒體、繪圖動畫、傳感器、界面布局、社區(qū)應用、數(shù)據(jù)存儲、通信連接、樂高機器人九大類,共計60個組件(MIT App Inventor nb 148c版本)。用戶可以將需要的組件拖曳到手機屏幕界面,例如Button是按鈕組件、Image是圖片組件。組件也可以分為可見組件和不可見組件,例如Button按鈕組件可以顯示在手機屏幕界面,而LocationSensor位置傳感器組件則不顯示于手機屏幕界面。
手機設(shè)計工作面板(Viewer)可讓用戶預覽移動應用程序完成后在手機屏幕的顯示效果,所見即所得,用戶可根據(jù)此畫面調(diào)整組件的位置和屬性。
組件列表(Components)的主要作用是,當用戶從組件面板拖曳了不同組件到手機設(shè)計工作面板時,該組件就會出現(xiàn)在組件列表里,標識用戶使用了該組件,用戶可為每個組件取一個有意義的名字,以便提高程序的可讀性。
若在移動應用程序中需要使用多媒體文件,如圖片、聲音、視頻等,可通過多媒體資源庫(Media)的“Upload File”文件上傳功能,將本地計算機中的多媒體文件上傳至App Inventor服務(wù)器。
每一個組件都有自己的屬性,用戶可以通過屬性設(shè)定(Properties)設(shè)置組件的不同屬性,表現(xiàn)出不同的顯示效果,例如Button按鈕組件可以通過Height屬性設(shè)置組件的高度、Width屬性設(shè)置按鈕的寬度、Text屬性設(shè)置按鈕顯示的文字[6][7]。
綜上,組件設(shè)計就是設(shè)計手機界面,是用戶與手機系統(tǒng)、應用交互的窗口,手機界面的設(shè)計必須基于手機設(shè)備的物理特性和系統(tǒng)應用的特性進行合理的設(shè)計。如圖1所示。

圖1 組件設(shè)計Designer
2.邏輯設(shè)計
在“組件設(shè)計”中可以拖曳一些組件到手機設(shè)計工作面板,例如可以為應用程序增加一個按鈕Button,然而這個按鈕按下去不會有任何的反應,為了要讓這個按鈕發(fā)揮作用,需要在“邏輯設(shè)計”中定義這個按鈕的“被點擊Click”事件。“邏輯設(shè)計”就是讓用戶定義程序行為,也就是實現(xiàn)程序功能。
App Inventor采用事件觸發(fā)的編程機制,當一個事件發(fā)生時,程序會調(diào)用并執(zhí)行預先編寫好的與該事件相對應的操作序列。例如用戶點擊了一個按鈕,就會觸發(fā)這個按鈕的被點擊事件,程序會自動執(zhí)行被點擊事件中程序代碼。App Inventor的事件主要分為四類:用戶觸發(fā)事件、初始化事件、計時器事件和外部事件。
在“邏輯設(shè)計”的界面左側(cè)包含有“代碼塊Blocks”,透過這些模塊的組合,便可以完成程序的功能設(shè)計,包括“內(nèi)置塊Built-in”、“用戶屏幕Screen”和“任意組件Any component”三大類。“內(nèi)置塊Built-in”提供了一些通常程序語言里需要具備的功能,如變量定義、流程控制(if,for,while等)、各種函數(shù)等,如圖2所示。

圖2 邏輯設(shè)計Blocks
在邏輯設(shè)計界面,拼圖使用不同顏色、不同形狀表示不同的功能,非常人性化。App Inventor設(shè)計非常巧妙,借鑒了中國傳統(tǒng)木工的設(shè)計思想---榫卯,如果拼圖形狀不匹配,就無法組合起來,可以最大限度減少程序出錯和調(diào)試的工作量。
(三)App Inventor程序開發(fā)步驟
下面以開發(fā)一個移動學習登錄模塊為例,介紹App Inventor程序的開發(fā)步驟:
第一步,新建工程項目。使用瀏覽器訪問htpp://app.gzjkw.net,使用自己的郵箱和密碼登錄App Inventor服務(wù)器,選擇按鈕“項目”->“新建項目”,新建一個項目,在出現(xiàn)的對話框架中錄入項目名稱myAPP。
第二步,程序界面設(shè)計。雙擊myAPP工程名稱,進入組件設(shè)計Designer,選擇應用程序所需的組件,兩個文本框組件Textbox、一個按鈕組件Button,將其拖到手機設(shè)計工作面板Viewer,然后在組件列表Component中選中需要修改屬性的組件,在組件屬性Properties中修改組件的屬性。
第三步,程序功能設(shè)計。使用邏輯設(shè)計Blocks定義組件的行為與事件。在Blocks的左側(cè)列表中找到需要編寫事件響應的組件;點擊右側(cè)會產(chǎn)生該組件支持的事件列表;選擇一種需要的事件塊并拖到右邊工作區(qū);為事件編寫相應的內(nèi)容,詳細代碼如下圖3所示。

圖3 邏輯設(shè)計(程序代碼設(shè)計)
第四步,使用模擬器emulator或者手機調(diào)試運行程序。當用戶將程序設(shè)計完成后,需要調(diào)試運行所設(shè)計好的移動應用程序,若程序運行有問題,就必須回到“組件設(shè)計Designer”或“邏輯設(shè)計Blocks”將問題做修改后再重新調(diào)試。App Inventor支持模擬器在線、手機在線(USB或Wi-Fi)、手機離線(APK文件下載)三種方式的移動應用程序調(diào)試。
App Inventor在中國目前發(fā)展時間不長,2013年麻省理工學院MIT教授Hal Abelson來到中國,與中山大學、Google聯(lián)合開展App Inventor教學研討,標志著App Inventor在中國開始應用。
由于App Inventor發(fā)展時間較短,也存在一些不足,和專業(yè)的Android開發(fā)技術(shù)相比,App Inventor的功能還比較弱,有些功能還無法實現(xiàn);相關(guān)的學習資源、書籍還比較少,開發(fā)例程還不夠豐富,組件種類還不夠多等,這些不足一定程度上限制了App Inventor的推廣與應用。
隨著麻省理工學院App Inventor開發(fā)團隊對App Inventor進一步的完善,App Inventor的功能會更強大,今后將會有更多對移動程序開發(fā)感興趣的人來使用App Inventor,屆時一定會有越來越多更好的用App Inventor設(shè)計的移動學習資源出現(xiàn)。
[1] 黃榮懷,Jyri Salomaa.移動學習——理論·現(xiàn)狀·趨勢[M].北京:科學出版社,2008:1-10.
[2] 王杰.開放大學移動學習研究[J].湖北廣播電視大學學報, 2011,(7):5-7.
[3] 第37次中國互聯(lián)網(wǎng)絡(luò)發(fā)展狀況統(tǒng)計報告[DB/OL].http:// www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201601/ t20160122_53271.htm,2016-01-22.
[4] The MIT App Inventor Library [DB/OL].http:// appinventor.mit.edu/explore/library.html,2016-05-20.
[5] 郭守超, 周睿, 鄧常梅 等.基于App Inventor和計算思維的信息技術(shù)課堂教學研究[J].中國電化教育,2014,(3):91-96.
[6] 黃仁祥,金琦,易偉.人人都能開發(fā)安卓APP——App Inventor2應用開發(fā)實戰(zhàn)[M].北京:機械工業(yè)出版社,2014:12-14.
[7] 王向輝,張國印,沈潔.可視化開發(fā)Android應用程序——拼圖開發(fā)模式App Inventor2(第2版)[M].北京:清華大學出版社,2015:18-22.
(責任編輯: 微風)
Resources Development of Mobile Learning Based on Android and App Inventor
WANG Jie
(The Open University of Guangdong, Guangzhou, Guangdong, China, 510091)
Mobile learning is a new style of learning, but its resources development needs the participation of programmer, high cost, and long development cycle. With the development of information technology, a new Android visual programming tool---App Inventor, an online programming software which uses modular stack method to develop mobile learning resources, is developed. Its advantages of simplicity, easy to learn and use help teachers to develop mobile learning resources though there is room to be improved.
Android; App Inventor;mobile learning; smartphone;designer; blocks
G434
A
2095-932x(2016)04-0038-05
廣東廣播電視大學、廣東理工職業(yè)學院2012年校級科研課題“一種基于Wi-Fi無線及Android室內(nèi)高精度定位研究”(1209)研究成果;谷歌中國大學合作部授予“Android人才培養(yǎng)示范基地”建設(shè)成果。
2016-06-08
王杰(1976-),男,新疆博樂人,廣東開放大學信息與工程學院講師。