資料儲存

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: