【摘要】為了方便非計算機專業的人士也能快速地進行Android移動應用程序開發,谷歌公司研發了App Inventor,這是一種拼圖式的應用開發工具。介紹App Inventor 2的在線、離線使用方式,組件設計器和塊編輯器的用法,并通過一個100以內四則運算的益智游戲實例對開發過程進行了說明。
【關鍵詞】App Inventor 2;安卓手機;應用開發
Abstract:In order to facilitate non-computer professional who can quickly make Android mobile application development,Google has developed the App Inventor,which is a puzzle-like application development tools base on Open Blocks. This article introduces online,offline use of App Inventor 2,the use of the component designer and the block editor,then describs the development process of an arithmetic game for instances.
Key words:App Inventor 2;Android Mobile Phone;Application Development
引言
在科技迅猛發展的今天,智能手機已超越個人電腦,成為人們不可或缺的信息處理設備。在智能手機系統中,主要有Google的Android,Apple的iOS和Microsoft的Windows Phone三大操作系統,而Android占84.5%,已然成為移動智能設備的霸主。開發Android平臺上的手機益智游戲,對于利用智能終端開展移動學習具有重要的意義。典型的Android應用程序開發需要在Java環境下來進行,通常包括Java Development Kit、Android SDK、Eclipse,這些軟件的下載、安裝、設置都很復雜,而學習和掌握Java語言及其在Android平臺上的開發手段,對于非計算機專業的人來說就更為困難了。因此,谷歌公司于2010年啟動的App Inventor項目,正是為了解決這一難題。與傳統文本行源代碼編程方式不同,App Inventor采用圖形化、搭積木的方式來完成程序的設計。其設計思想基于建構主義的學習理論,認為圖塊式的編程可以激發學習者的創造思維。這一編程方式源自于麻省理工學院的Scratch(http://scratch.mit.edu/),程序邏輯清晰、結構一目了然,對于各行各業的開發者來說,易于上手和掌握。2011年11月谷歌公司公開了項目的源代碼,關閉了自己的網站,將整個App Inventor項目移交給麻省理工學院,由后者繼續研究、運營和管理。2013年12月App Inventor 2發布。
1.App Inventor 2的使用
基于谷歌云服務的理念,App Inventor只需要主流瀏覽器就可以使用,對于App Inventor 2來說,要求谷歌的Chrome版本在4.0以上,蘋果的Safari在5.0以上,微軟的IE在7.0以上。開發者可以采用在線開發和離線開發兩種使用方式。
1.1 在線開發
用戶使用主流瀏覽器訪問http://ai2.appinventor.mit.edu/,使用Gmail帳號進行登錄后,便可進行項目的開發和管理。如果網絡不能正常連接,那么可以使用離線的方式。
1.2 離線開發
App Inventor2項目是開源的,并且可以從MIT的網站上下載到本地,用戶可以建立自己的App Inventor2服務網站。當然整個系統的下載、安裝和設置都有一定的復雜度,幸好有熱心的愛好者已經將所有的內容打包,并上傳到了百度網盤(http://pan.baidu.com/share/link?shareid=201955381amp;uk=3825515214),我們可以直接下載。解壓后直接運行“啟動AIServer.cmd”即可。App Inventor是基于Java開發的,雖然下載的壓縮包中包含了jre目錄,但是筆者在實際使用中發現系統運行的速度很慢,因此,用戶最好還是自己下載、安裝一下Java運行環境(不要用最新的,7.0即可)。啟動App Inventor服務以后,在瀏覽器中訪問127.0.0.1:8888就可以進行離線開發了。
2.App Inventor 2的開發界面
進入App Inventor 2所見的開發界面如圖1所示,主要由“Designer”(組件設計器)和“Blocks”(塊編輯器)兩大部分組成。
圖1 App Inventor2開發界面
點擊“Designer”,由左到右呈現的是“Palette”、“Viewer”、“Components”、“Media”、“Property”,如圖2所示。與VB、Delphi等可視化開發語言相類似,在“Palette”中是可以使用的組件,如用戶界面、布局、傳感器、社交工具等;用戶根據需要將組件拖動到“Viewer”中,這是在手機屏幕上可看到或用到的內容;選擇“Viewer”或“Components”中的組件,可以在“Property”中修改其屬性;應用所需的圖像、音視頻文件可以通過“Media”上傳和管理。
圖2 組件設計器界面
點擊“Blocks”,進入程序塊的開發。塊編輯器界面呈現如圖2所示,分別為“Blocks”、“Viewer”。選擇“Blocks”中的組件,在“Viewer”中即出現該組件可以使用的事件塊,將需要使用的事件塊拖到右邊的窗格中,卡口吻合的塊可以組合為更大程序塊,需要刪除的塊可以拖到垃圾桶中,錯誤和警告在“Viewer”中直接顯示。這樣如同構建拼圖一般就可以完成程序的開發工作。
圖3 塊編輯器界面
3.益智游戲開發實例
我們以一個益智游戲的開發來看看App Inventor是如何使用的。該益智游戲面向初學算術的學童,其功能是隨機生成結果100以內的四則運算,學習者答題后,如結果正確,則出現笑臉與掌聲,否則為哭臉和哭聲。在“Designer”(組件設計器)界面下設計屏幕如圖4所示:
圖4 游戲屏幕布局
其中的主要組件如表1所示:
表1 主要組件列表
類型 所屬分組 名稱 作用
Label User Interface X 運算操作數1
Label Y 運算操作數1
TextBox Z 學習者輸入答題結果
Button Button1 提交按鈕
Sound Media Sound1 根據評分而播放的聲音
Image Image1 根據評分而顯示的圖像
在“Blocks”(塊編輯器)中,程序塊由以下主要部分構成:
3.1 初始化
當程序啟動時,初始化全局變量并隨機選擇加、減、乘、除中的一種運算,并對該種運算隨機出題。限于篇幅,這里省略了加法和乘法的處理。
3.2 答題結果評分
3.3 詢問學習者是否進行下一題
在主界面菜單點擊“Build”-“APP(save .apk to my computer)”,生成應用安裝包,即可在手機中安裝運行。
4.結語
作為谷歌公司的產品,App Inventor具有鮮明的谷歌特點:開源、云服務。隨著Android智能手機的普及,移動學習的熱潮正在興起,基于圖塊式編程的App Inventor無疑是廣大教師、學生快速編寫Android應用的利器。當然,使用App Inventor進行程序設計還是需要開發者具有一定的計算機編程基礎,App Inventor中的組件也不夠豐富,不能滿足各方面的應用所需,編寫的程序運行效率還比較低。但是App Inventor大大降低了移動應用開發的門檻,相信假以時日,其后續版本將更易于使用,功能將更加強大、更能滿足用戶的需要。
參考文獻
[1]張居彥.移動App設計工具Inventor[J].電子世界.2013 (15):170-171.
[2]申健唯,吳麗.安卓手機游戲的快速開發[J].數字技術與應用.2014(1):127-128.
[3]郭守超,周睿,鄧常梅,狄長艷,周慶國.基于AppInventor和計算思維的信息技術課堂教學研究[J].中國電化教育.2014(3):91-96.