熊亞蒙
摘? ?要:文章設(shè)計并研究一種以APP Inventor為基礎(chǔ)的高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用,該應(yīng)用以高職院?;A(chǔ)實驗室、學(xué)院專業(yè)實驗室、學(xué)院科研實驗室以及校企合作基地為依托,將各年級師生作為應(yīng)用對象,由應(yīng)用層、業(yè)務(wù)層與數(shù)據(jù)層構(gòu)成,在實現(xiàn)的過程中,需要對APP Inventor中服務(wù)器的搭建以及工具的自身完善等技術(shù)難點進(jìn)行攻克,更好應(yīng)用于移動應(yīng)用的設(shè)計以及高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐活動的開展。
關(guān)鍵詞:APP Inventor;創(chuàng)新創(chuàng)業(yè)實踐;移動應(yīng)用
1? ? 高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用設(shè)計
高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用應(yīng)當(dāng)以高職院?;A(chǔ)實驗室、學(xué)院專業(yè)實驗室、學(xué)院科研實驗室以及校企合作基地為依托,進(jìn)行層次鮮明、開放共享的創(chuàng)新創(chuàng)業(yè)實踐功能模塊的設(shè)計。應(yīng)用的各功能模塊分為低、中、高3個層次,分別以高職院校各年級的學(xué)生及教師為對象,各模塊均保證至少有一個特色鮮明的主題,模塊與模塊之間相互補充與合理銜接。具體地,興趣引入模塊主要對學(xué)生“走進(jìn)移動應(yīng)用”的問題加以解決,將學(xué)生的創(chuàng)新創(chuàng)業(yè)興趣激發(fā)出來,對他們的動手習(xí)慣進(jìn)行培養(yǎng),增強其對相關(guān)功能的認(rèn)知能力。實踐融合模塊主要解決的是學(xué)生在實踐過程中將知識轉(zhuǎn)化為能力的問題,對學(xué)生的創(chuàng)新創(chuàng)業(yè)意識進(jìn)行培養(yǎng),強化他們的創(chuàng)新創(chuàng)業(yè)思維及實踐能力。展提高模塊的功能在于明確創(chuàng)新創(chuàng)業(yè)目標(biāo),培養(yǎng)學(xué)生的綜合素質(zhì)與能力。
2? ? 基于APP Inventor的創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用框架
2.1? App? Inventor的特點
APP Inventor是Google公司研發(fā)并推出的一款可視化、可拖拽的移動設(shè)備編程工具,能夠在Android平臺上構(gòu)建移動應(yīng)用,以基于Web的圖形化用戶界面生成器為支持,進(jìn)行應(yīng)用用戶界面的設(shè)計,之后與堆積木或拼圖相類似,對“塊”語言進(jìn)行拼接,實現(xiàn)對應(yīng)用的定義[1]。
(1)在線開發(fā)。APP Inventor具有“在線開發(fā)”功能,為設(shè)計人員提供了隨時開發(fā)的可能,只需進(jìn)行一個郵箱帳號的注冊,設(shè)計人員便可訪問APP Inventor服務(wù)器,執(zhí)行對小軟件的開發(fā)操作。
(2)趣味性。大多數(shù)人都堆過積木,APP Inventor的理念便是利用積木形式進(jìn)行小軟件的開發(fā)。設(shè)計人員只需要將所需要的內(nèi)容拖動到工作面板中,經(jīng)過合理的組合便能實現(xiàn)相應(yīng)的功能。
(3)簡單易操作性。之前應(yīng)用較為廣泛的Scratch同樣是運用積木塊的形式,具有“零基礎(chǔ)”的優(yōu)點,幾分鐘便能將編程學(xué)會。APP Inventor同樣建立于此種思想之下,它能讓更多的人接觸并參與軟件的開發(fā)。只需對某些組件進(jìn)行拖動,便可達(dá)到理想的效果。
2.2? 基于App? Inventor的移動應(yīng)用技術(shù)架構(gòu)
高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐利用APP Inventor進(jìn)行開發(fā)。應(yīng)用開發(fā)由上至下,包括應(yīng)用層、業(yè)務(wù)層與數(shù)據(jù)層。
2.2.1? 應(yīng)用層設(shè)計
APP Inventor的組件由可視化組件與非可視化組件構(gòu)成。在進(jìn)行高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用程序的設(shè)計之時,可視化組件需用到Button,Image與Label等,其中,Button按鈕負(fù)責(zé)管理師生的登錄信息以及“興趣引入”“實踐融合”“拓展提高”等模塊與各模塊中對應(yīng)的內(nèi)容;Image則進(jìn)行頭像等圖案信息的顯示;Label顯示文本,將對應(yīng)的師生信息及其對相關(guān)內(nèi)容的點擊簡要顯示于頭像下方。非可視化組件會對Tiny DB,Sound與TextToSpeech等加以應(yīng)用,其中Tiny DB用于相關(guān)數(shù)據(jù)在手機數(shù)據(jù)庫中的保存;Sound是一種聲音媒體組件;TextToSpeech亦是媒體組件,可實現(xiàn)語音輸出文本的功能。
2.2.2? 業(yè)務(wù)層設(shè)計
業(yè)務(wù)層的設(shè)計主要是對創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用中各個組件的功能進(jìn)行定義。Blocks Editor程序編輯界面,用于編寫輸入元件以及輸出元件之間的邏輯程序,即確定將什么信息輸入、采用什么樣的程序進(jìn)行邏輯處理以及生成什么輸出結(jié)果等。
以學(xué)生登錄移動應(yīng)用模塊為例,學(xué)生進(jìn)入移動應(yīng)用之后,首先會提示學(xué)生登錄,學(xué)生輸入自己的信息并向服務(wù)器發(fā)出請求,服務(wù)器在接收到學(xué)生的登錄請求之后,會從照片庫中讀取學(xué)生的照片,并在移動應(yīng)用的客戶端界面將學(xué)生照片及信息顯示出來待學(xué)生確認(rèn),自動跳轉(zhuǎn)至應(yīng)用主頁面。
2.3? 數(shù)據(jù)層設(shè)計
數(shù)據(jù)層是創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用的基礎(chǔ),在移動應(yīng)用中對功能進(jìn)行了不同模塊的分解,運用模塊化的方法實現(xiàn)應(yīng)用的不同功能。為移動應(yīng)用實現(xiàn)流程如圖1所示。
3? ? 應(yīng)用實現(xiàn)中的技術(shù)難點
APP Inventor操作簡單,對學(xué)生通過移動應(yīng)用參與創(chuàng)新創(chuàng)業(yè)實踐很適用。但是,是否能夠簡單地將APP Inventor技術(shù)引入高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐活動及其移動應(yīng)用之中并不肯定,在設(shè)計移動應(yīng)用并開展高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐的過程中,APP Inventor需要攻克以下技術(shù)難點。
3.1? 服務(wù)器的搭建
APP Inventor工具現(xiàn)已推出離線版,只需將離線版安裝至某一服務(wù)器上并發(fā)布出去,通過對IP地址或域名地址的訪問便可實現(xiàn)工具的應(yīng)用。但是有一個限制條件,由于APP Inventor是應(yīng)用于高職院校校內(nèi)的,因此,很多服務(wù)器只限于校內(nèi)訪問,難以將較大的項目導(dǎo)出,或者在訪問過程中會有網(wǎng)絡(luò)連接問題的出現(xiàn),致使原本已經(jīng)做好的項目難以保存或無法及時導(dǎo)出。因此,一個優(yōu)秀的APP Inventor平臺服務(wù)器搭建是有一定難度的,另外,訪問量的增大亦會為服務(wù)器帶來其他問題,需要從持久性方面考慮服務(wù)器的維護。實際上,服務(wù)器的搭建問題是不應(yīng)落實到高職院校中的,畢竟其需要支付較高的搭建與維護成本。為了對APP Inventor的應(yīng)用進(jìn)行大力的推廣,Google公司應(yīng)在國內(nèi)不同地區(qū)進(jìn)行多臺服務(wù)器平臺的設(shè)立,對當(dāng)前網(wǎng)絡(luò)堵塞以及服務(wù)器癱瘓等問題予以解決。
3.2? 工具的自身完善
現(xiàn)在看來,APP Inventor是有十分清晰的結(jié)構(gòu),在進(jìn)行一些小程序的編寫時也非常簡單。但是如果要編寫較大的程序,APP Inventor加載的速度就會非常慢,甚至有時會面臨無法保存大程序的難題。此外,如果全都用積木的形式將大程序中的代碼堆疊起來,將會使代碼太多、太亂,有時若對某一地方進(jìn)行修改,保存之后很有可能在下次進(jìn)行測試的時候,發(fā)現(xiàn)這一修改的地方并沒有被保存下來。另外,若一個程序中有比較多的同類型組件,在為它們添加相應(yīng)的事件之時還需要逐個地添加,而無法采用類似于循環(huán)代碼的形式一次性將全部組件的事件寫完。利用APP Inventor設(shè)計高職學(xué)生創(chuàng)新創(chuàng)業(yè)實踐移動應(yīng)用,代碼塊拼接的程序是存在一定難度的,若采用程序語言編寫可能會節(jié)省不小功夫。因此,修改之后的APP Inventor并不一定都需要采用代碼塊來拼接,也可以合理選擇編寫一些簡單的代碼,在采用積木塊與代碼相結(jié)合的方式時需要對其適用性進(jìn)行考慮。
[參考文獻(xiàn)]
[1]王慧琚.淺談APP Inventor課堂管理系統(tǒng)設(shè)計[J].長春師范大學(xué)學(xué)報,2016(12):44-47.