資料儲存
2019/03/01 謝碧景(c)編製更新
學習目標
學會Storage資料儲存類別中【TinyDB微型資料庫】元件的設計與應用。
學會『測試性』類別中【FirebaseDB】元件的設計與應用。
◆ MIT App Inventor 官方網站 http://appinventor.mit.edu/ → Create apps! (繁體中文)
一、TinyDB微型資料庫
App Inventor 2 提供TinyDB微型資料庫元件將資料儲存至模擬器或行動裝置內,若以模擬器或行動裝置執行程式,則會共用一個App Inventor 2 提供的共用資料庫。僅以apk實機安裝,才會為每個專案建置專屬的微型資料庫。
微型資料庫元件無屬性及事件,僅有方法,如下:
例:我的記事本:請以微型資料庫設計一個小型記事本,摘要記錄每日重要人事物等,以提醒及便利生活事務。【重點:學會【TinyDB微型資料庫】元件的設計與應用】。(檔名:TinyDB.aia)
(一)畫面編排(Designer)頁面:即版面配置。
*註:『TextBoxResult文字輸入盒』需核選v允許多行,以利輸入多行資料。
(二)程式設計(Blocks)頁面:
1.當輸入關鍵字後按下【查詢】按鈕,顯示垂直布局內的元件,判斷『TextBoxTag文字輸入盒』指定標籤是否存在,如果標標籤名稱不存在(會傳回無標籤時的回傳值,預設為空字串),則顯示『開新檔案』訊息,並將『TextBoxResult文字輸入盒』清空,以利輸入資料;否則顯示查詢到的資料。
語系→繁體中文:
*註:垂直布局的可見性設為『真(True)』,才會顯示其內部的『TextBoxResult文字輸入盒、及ButtonSave儲存資料按鈕』元件。
2.輸入資料後按下【儲存資料】按鈕,並顯示『儲存完成』訊息,同時隱藏垂直布局內的元件(『TextBoxResult文字輸入盒、及ButtonSave儲存資料按鈕』)。
語系→English:
二、FirebaseDB 元件
Firebase資料庫2014年底被Google公司買下,納入Google Cloud平台,讓網路與行動程式間更為方便應用,有Google帳號者,即可登入Firebase建立雲端即時資料庫。網址: https://firebase.google.com/
Firebase以樹狀結構建立資料,可建立多層次資料,每筆資料以『鍵-值』(Key-Value)方式儲存,即以『鍵』名稱取得其對應的『值』。
該元件在『Experimental測試性』類別中,其最大的功能是當資料庫中任何資料內容改變,則所有安裝該App程式的行動裝置都會觸發DataChanged事件,並將更新資料傳送給行動裝置。
Firebase目前仍屬試驗階段,非正式元件,故App Inventor模擬器暫不支援,專案若使用請以FirebaseDB元件,必須在實機中執行。
FirebaseDB元件常用屬性、方法、事件:
常用屬性:
常用方法:
常用事件:
例:班訊聯絡網,班上同學間不同手機中安裝該應用程式,僅需輸入座號及按下『傳送簡訊』鈕,即可接續顯示同學之訊息互通往來,按下『清空訊息』鈕,即可清除所有訊息。
第1個手機
第2個手機
(一)畫面編排(Designer)頁面:即版面配置。
(二)程式設計(Blocks)頁面:
當按下『傳送簡訊』(ButtonSend)鈕之程式方塊,如下圖。
語系→繁體中文:
*註:
(1)『座號』及『訊息』之文字輸入盒都需輸入資料,才能送出。
(2)設定全域變數msg儲存內容為『座號:訊息』組合後的字串。
(3)以『取得數值』方法讀取Firebase資料庫tagmsg標籤(鍵)的資料內容。
使用者執行『取得數值』方法後會觸發『取得數值』事件,如下圖。
當訊息內容存入Firebase資料庫造成資料內容改變,所有安裝該App程式的行動裝置都會收到更新後的資料,並觸發DataChanged事件,只需將訊息內容顯示出即表示更新完成。
◆當按下『清空訊息』』(ButtonClear)鈕就清除tagmsg標籤的資料。
語系→English: