App Inventor學習記錄87,怎麼從google sheet中取得資料

檔案管理元件讀取CSV檔文件的缺點,就是資料更新的時候就要重新安裝 APP,所以我們把資料放在 GOOGLE SHEET上,這樣更新資料就不用重安裝。
記錄一下:
App Inventor學習記錄87,怎麼從google sheet中取得資料


要使用 GOOGLE SHEET來當我們的資料存取點,第一步就是把檔案的共用給設定好。
這裡的方法有兩種,先來講比較麻煩的地一種。
我們在檔案上按滑鼠右鍵,點擊共用


然後點擊變更,變更共用的權限。


這裡的權限設定成檢視者就可以,然後我們複製這一串連結。


然後我們把連結貼到記事本上面。

這裡的一長串網址,我們可以不用理它都保持不動。看到 /後面的這一串字。
把/edit?usp=sharing,改成/export?format=csv
然後,我們把這一串新的網址複製一下備用。


接著,我們進入到 app inventor的畫面編排中。

這裡我們要用的元件是通訊中的網路這個元件。
這個元件是一個非可視元件,我們把它拉到畫面中。


畫面編排的部份如下

為了分步驟把取得的資料看的清楚一點,這裡多拉了幾個標籤來看。
平常我們己在寫的時候,也是會拉幾個標籤來顯示資料,這樣方便去比對。
google sheet原始這個標籤用來顯示原來的資料。
csv轉清單這個標籤,是用來顯示原來的資料轉成清單後的情形。
題目 1和題目 2這兩個標籤是取值的時候要看的。


全部的程式碼如下:


第 1部份的程式碼說明:

建立兩個變數,分別都設定成空清單。
用來取原本的資料,和把原本的資料用 csv轉成清單後的呈現。


第 2部份的程式碼說明:

當程式初始化的時候:
網路 1.網址,設定為我們剛剛改好的網址。
呼叫網路 1.執行 GET請求

這樣就會叫系統去這個我們設定好的網址抓資料。


第 3部份的程式碼說明:

接著來要做取得資料後的步驟:
當網路 1.取得文字。
取得的原始資料這個變數,設定成回應內容
這裡的回應內容,就是原始沒有處理過的資料

原始資料轉清單,設定為 CSV表格轉清單,CSV文字就放回應內容
這樣就會把原始的資料,轉成清單的格式,方便我們後面的使用。

接著把兩個標籤的文字,設定成這兩個變數。
我們就可以看到這兩種設定有什麼不用。

至於清單顯示器這個部份,大家都知道清單顯示器只能顯示清單的內容,這裡也是要換個方式來看我們轉換之後的資料,其實這個不是必要的。


第 4部份的程式碼說明:

當題目選擇按鈕按下之後:
我們用清單的元件設定幾個條件,看看會取到什麼值。
這個也是為了方便理解用,這個要說明起來太麻煩了。
乾脆放兩個標籤來顯示我們取得的值,多使用幾次之後,就會清楚了。


接著我們打開模擬器測試一下

我把相對應的資料用箭頭拉在一塊。大家可以比對一下。
下方用清單元件取的資料大家也可以對照一下。
同樣的,這些都是多用個幾次就會清楚的東西。


這裡主要的就是怎麼取得 GOOGLE SHEET連結的方法。前面介紹的是第一種方法,接下來介紹第二種方法取得 GOOGLE SHEET的連結
我們打開 GOOGLE SHEET檔案之後,點擊檔案發布到網路


點擊網頁


選擇逗號分隔值(.csv)


然後,複製這裡的網址。

接著,就可以貼到我們之前的網路1.網址這個地方來使用


第一種和第二種方法取得的網址是不同的,但使用上倒是沒有什麼區別。
這可能是因為我用的還不夠多,所以還看不出有什麼差別。

這次的 aia檔的下載連結如下:
點我下載 NO_87_Read_from_google_sheet.aia

參考書籍如下:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班

之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面

發表迴響