沒看錯! Arduino、Android很繞口,但今天就是要學Android!
現在的小學生都在談「雙A」(雙B太Low了)或「三A」,亦就是Android、Arduino再外加Ardupilot。通常以Android手機為通訊基礎,透過藍芽或ZigBee為傳輸介面來控制遠端的汽車、機器人或飛行器。(以上是小學生的程度,沒錯! 歐吉尚今天要從幼幼班進階到幼兒園中班了)
想成為Maker,但歐吉尚很清楚應該先跟上小學生的程度再說。不可能只買個Arduino版子,就想一步登Maker! 先從Single A開始(Arduino或Android皆可),再進階至Double
A。
也想自己寫寫Android程式嗎? 今天跟大家分享一個偷吃步的方法,也是現在在小學很紅的App
Inventor 2 (AI2)。原是Google Lab的一個子計畫,後來移交給美國麻省理工學院(MIT)行動學習中心。它是屬於線上開發的整合環境,按照官網的下載與安裝指令即可在Chrome或Firefox網頁瀏覽器中開發自己的Android程式。不過若你想用模擬器執行自己寫的Code,則須另外安裝aiStarter,我直接裝最新版的AI2 for Windows installer
package。
晚一點學也有好處! AI2現在的Designer(相當於視覺化原件佈局)與Block(相當於事件與程式碼)編輯器已經整合在一起了,多了很多功能,也不用再安裝Java外掛。先申請一個Google帳號,用Chrome開啟官網 http://appinventor.mit.edu 就可以進入開發環境。(我是用Windows 7桌機)
既然是第一支Android程式,當然還是「Hello World!」。二話不說,開啟Designer立馬拉了四個原件: TextBox、Button、Lable與TextToSpeech。
我希望能夠在TextBox內輸入「Hello World!」,當Button被敲下之後將TextBox的內容可以被存入一個字串變數(myMessage)中且秀在Label原件上,並讓TextToSpeech原件將所存的字串念出來。
AI2的Block編輯器透過視覺化的物件,我沒多看文件資料,很直覺地就可以把我想的腳本實作出來了。只有拖拉與排列這些事件元素,沒有寫Code,而這就是AI2的Coding方式。當然有人會懷疑: 如果Coding這麼簡單,那將來Android陣營App Store的品質是否不保呢? (比如說,我就真的把這支「Hello World!」程式給上架了!)
完成Coding(腳本規劃),選擇Connect-->AI
Companion,AI2會將你的程式編譯成Android的可執行檔(.apk),並產生相對應的QR
Code。
因為AI2是雲端的開發環境,你須在你的Android手機另外下載安裝MIT AI2 Companion (到Google Play商店下載),再透過QR Code掃描碼將你的程式下載。
執行程式只要用手機對著AI2產生的QR Code識別即可 (請記得將手機與桌機的WiFi打開)。我發現,現在的小孩寫程式真的太幸福了! 我還不會細部設定,「Hello World!」目前聽到是女孩的聲音。