日期:109年7月21日(二)
地點:青山國中小
主題:App Inventor 2 手機 APP 設計進階課程:雲端資源專題應用
講師:邱昭士老師
公文:
課程內容:
- MIT App Inventor 2 開發網站:http://ai2.appinventor.mit.edu → 以 Google 帳號登入
- App Inventor 2 程式設計教學
教學範例:
參考網站:Jing的教學園地 – 延伸學習:App Inventor 2 – 雲端資源專題應用
專題1:英文單字集
- 先建立一英文單字及中文說明之資料庫,以CSV格式(Comma Separated Values)的文字檔案,即以『,』逗號分隔,每筆資料以Enter分行儲存,副檔名為『*.csv』。如下圖,當按下【隨機選字】按鈕,即隨機由資料庫中選一筆單字,播放出,並將該中文說明一併顯示;當按下【再唸一次】按鈕,即再播放一次該單字。
- 重點:學會資料庫結合『TextToSpeech文字語音轉換器』、『File檔案管理』及『Web網路』元件的設計與專題應用。
以『本機資料庫』為例:(專案名稱[本機版]:vocabulary.aia)
以『雲端資料庫』為例:(專案名稱[雲端版]:vocabulary_web.aia)
專題2:台灣即時空氣品質監測
- 程式下載:pm25.aia
- 請依『縣市』及『觀測站』查詢『空氣汙染指標(PSI)』與『細懸浮微粒(PM2.5)指數』,並分別判斷兩者之警示等級。*警示等級分別參閱:行政院環境保護署-空氣品質監測網:空氣品質指標(AQI)與健康影響,及細懸浮微粒(PM2.5)指標對照表與活動建議。
- 重點:學會『OpenData.epa』雲端資源(以JSON格式檔案)及『Web網路、ListPicker清單選擇器』元件的設計與專題應用。
- 行政院環境保護署環境資源資料開放平台:https://data.epa.gov.tw
- 查詢「空氣品質即時污染指標(含PM2.5)」:https://data.epa.gov.tw/dataset/psi_p_02
- JSON(JavaScript Object Notation)是一種輕量級的資料交換語言。透過 Code Beautify→ JSON Viewer 線上工具可檢視資料結構。
- JSON Editor Online:view, edit and format JSON online。
- JSON 維基百科
畫面編排(Designer)頁面:
- Screen1屬性【畫面方向→設定『鎖定直式畫面』】,並核選『允許捲動』,以利編輯,待程式設計時再取消『捲動』。
- city(下拉式選單):顯示『縣市』名稱,在【元件屬性→元素字串→輸入:全部,宜蘭縣,花蓮縣,臺東縣,基隆市,臺北市,新北市,桃園市,新竹縣,新竹市,苗栗縣,臺中市,彰化縣,南投縣,雲林縣,嘉義市,嘉義縣,臺南市,高雄市,屏東縣,澎湖縣,連江縣,金門縣】,請以「,」隔開各『縣市』名稱。參閱: 臺灣行政區劃-維基百科。
- station(清單選擇器):存放各『觀測站』名稱,需在程式設計時由雲端資料引入,故在未載入資料前【元件屬性面板→「不核取」啟用】。
- sitename(標籤):顯示選取之『觀測站』名稱。
- Web1(網路):在程式設計中可取得公開平台之資料來源。
程式設計(Blocks)頁面:
(一)定義全域變數:
- weburl:【空氣品質指標(AQI)】公開平台中『JSON』格式資料來源之網址(內含『縣市』及測站相關資料),請複製『JSON』連結網址,如下。
http://opendata.epa.gov.tw/webapi/Data/REWIQA/?$orderby=SiteName&$skip=0&$top=1000&format=json - elist:以清單儲存由雲端讀取回來之資料。
- listpickerstr:以字串儲存下拉式選單中之資料內容。
- statusaqi:儲存回傳之 AQI 狀況。
- statuspm25:儲存回傳之PM2.5 狀況。
- statusmode:用來判斷欲顯示之資料類型,0代表顯示AQI,1代表顯示PM2.5。
(二)程式設計:
專題3:台幣匯率換算
- 台幣匯率換算,先選擇外幣別,再輸入金額,即可開始試算外幣兌換台幣,亦可『幣別交換』或選擇其他幣別兌換。
- 重點:學會Google試算表之雲端資源及『Web網路、ListPicker清單選擇器』元件的設計與專題應用。
專題4:多媒體動畫影片作品展示
- 先『選取動畫影片』名稱,再按下『播放』,若按下『結束』則結束App應用程式。
- 重點:學會Google試算表之雲端資源及『Web網路、ActivityStarter啟動器』元件之設計與專題應用。
專題5:急難救援
- 在緊急狀況時可透過手機定位資訊自動傳送簡訊或撥打電話給家人,以利快速救援。
- 重點:學會『LocationSensor(位置感測器)、ActivityStarter啟動器』元件之設計與專題應用。