~~更新~~
有網友留言, 兩個Global變數 "search_city" & "search_area" 沒有在影片中定義~
剛剛把影片調出來看, 這兩個Global變數 "search_city" & "search_area" 的確沒有在影片中出現! 這兩周剪接這影片時, 可能被我不小心剪掉了, 請各位朋友自行加入這兩個變數. 謝謝darbertchang 提醒~
加入的方法可以參考這裡的作法喔: https://youtu.be/cEN9jAxf2VU
~~~~
App Inventor #3
大家好, 歡迎收看本週的Weekend project with Stonez56.
本週我要進行教授的課程是 App Inventor 第3集。 “App Inventor #3 “自己來寫APP 快篩何處買?” (How to process .csv files in App Inventor 2)”. 這個影片適合初學者來觀看學習, 想拿來這個單元來學習 App Inventor 2 也是很 Ok 的!
這幾天最熱門的話題就是快篩試劑何處買了! 到處都大排長龍, 有找了許多點也找不到~ 本集的 App Inventor #3 我們一起來做一隻 App 以縣市, 鄉鎮區來查詢什麼地方才能買到.
這支App 主要是處理 .CSV 檔案來呈現 App 的資訊. 而這個資料是由政府資料開放平臺的- 配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單 頁面下載的資料而來, 資料更新時間為 2022-04-26 20:16 算是很即時的資料~~ 不準不能怪我 Stonez56~~ (2022-5-6 17:09 又釋出新版資料, 格式不變, 一樣能用, 同學們記得下載新版來用)
我採用下載 .CSV 檔案後, 上傳到 App 裡, 再處理 .CSV. 我們也可以直接即時下載 .CSV 來得最新即時的資料, 但是我觀察了幾天, 資料變化不快, 不需要每執行一次, 就去下載一次 .CSV 快浪費時間, 也浪費頻寬~
一起動手來寫 APP 吧~
如果時間不夠的朋友, 也可以從以下的時間軸挑選想看的部份即可!
影片時間軸:
00:00:00 開始
00:00:28 了解這次開發程式的功能
00:01:38 從政府開放資料平台獲取資料(.CSV)
00:02:18 使用 OpenStreetMap, 拾棄 Google Map
00:02:51 了解 .CSV 文件格式
00:04:25 設計 App 使用者界面
00:16:59 準備開始來寫 APP
00:36:34 介紹AI2 Companion App
00:40:39 如何建立並使用副程式(Procedure)
00:56:42 使用 ListUtils 擴展刪除重複項
01:09:29 如何分割/結合字串
01:25:40 使用副程式(Procedure)的好處
01:27:11 加入 OpenStreetMap 地圖畫面
01:28:09 設計 MapScreen 使用者介面
01:33:59 開始設計 MapScreen 程式
01:47:06 秘密挑戰~~ ;)
圖檔下載:
AI2 程式碼 (Screen 1):
變數定義 (Define Global variables) |
產生查詢結果到 list view (Generate display item list) |
Screen1 Initialize & process after read .csv file |
After picking of city & area / populate specific city & unique area |
AI2 程式碼 (MapScreen):
顯示結果在 OpenStreetMap 上 (Show results on the map) |
參考資料:
* 如何處理 .csv: https://www.youtube.com/watch?v=K2n98PYO90M
* TextUtils extension: https://community.appinventor.mit.edu/t/all-rescued-extensions-from-appybuilder-community/27169/47?page=3
* 配合辦理發放公費COVID-19家用快篩試劑社區定點診所名稱、地址、座標
https://data.gov.tw/dataset/150692
* Google Map 取得 Marker 要輸入信用卡資料了:
https://developers.google.com/maps/documentation/maps-static/overview
* APP 地圖使用: App Inventor 內建之 OpenStreet Map: https://www.openstreetmap.org/#map=8/23.611/120.768
No comments:
Post a Comment