App Inventor學習記錄188-用Tinydb元件跨多個螢幕傳值的方法

這個是 line討論社群中的高手分享的一個方法,經過測試,真的比傳初始值好用。雖然這個方法也是有它的限制在,不過真的非常的好用。

記錄一下:
App Inventor學習記錄188-用Tinydb元件跨多個螢幕傳值的方法


這次範例的完成品如下。

最下方是兩個顯示 tinydb1和 tinydb2內容的標籤。
標籤的上是切換 4個螢幕的按鈕。

我們在切換螢幕後,會看到下方的值是相同的,就我們在其它一個螢幕修改了原先的清單,只要我們把清單儲存在 tinydb裡,然後切換到其它的螢幕後,我們儲存的值也會一起帶到其它螢幕中。

以往我們都是用 open another screen with start value方塊來做,但這次我們用 tinydb元件來做。


畫面編排的部份如下。

這裡用了兩個 tinydb的元件。請注意一下 tinydb元件的名稱。
用Tinydb元件跨多個螢幕傳值的方法,就是在不同的螢幕下,都拉同樣名稱的 tinydb元件。只要是 tinydb元件的名稱是相同的,我們在別的螢幕下,就可以直接用 tinydb的方塊,去取值出來用。


這裡補充一下 4個螢幕對應的元件名稱。

4個畫面都是相同的。


全部的程式方塊如下。


第 1部份的程式方塊記錄。

建立相關的清單。


第 2部份的程式方塊記錄。

建立顯示三個清單的內容程式,用來顯示 tinydb的內容。


第 3部份的程式方塊記錄。

程式一開始的時候,call tinydb.get value呼叫微型資料庫元件去取得資料,然後分配到對應的清單中,再呼叫顯示三個清單的內容程式,把清單顯示在最下方的標籤中。

這裡請特別特別的注意,tinydb元件,在名稱相同的時候,是可以跨螢幕共用的
也就是說,這 4個螢幕用到的微型資料庫的名稱都是相同的,都是 tinydb1。


第 4部份的程式方塊記錄。

接下來的部份就很快的帶過,因為重點已經都介紹過了。
資料儲存按鈕,按下後會打開 listpicker清單選擇器,再從這裡選擇要儲存在那一個標籤下。


第 5部份的程式方塊記錄。

讀取按鈕,按下後開啟 listpicker 2清單選擇器 2。
我們在畫面編排的地方,把 listpicker 1和 listpicker 2的可見性,都設定為假。這樣不佔版面。這個也是清單選擇器元件比下拉式選單元件好用的地方,雖然它比較醜一些……


第 6部份的程式方塊記錄。

清空按鈕,按下後清單文字輸入盒上的文字。


第 7部份的程式方塊記錄。

資料庫清空。


第 8部份的程式方塊記錄。

清單選擇器選擇後,把資料存在選擇的標籤中。


第 9部份的程式方塊記錄。

切換不同螢幕的按鈕。


第 10部份程式方塊記錄。

跟第 8部份的程式是相同的做法,只是長了一點。


第 11部份的程式方塊記錄。

跟第 4部份的作法相同,只是這次把資料存在 tinydb2中,這是要測試有幾個 tinydb元件可以這樣做,測試的結果是……至少 2個。


第 12部份的程式方塊記錄。

讀取 tinydb2的資料測試。

好的,全部的程式方塊都簡單說明過了,建議大家試著做一次,就會用的越來越熟。
但如果不想要重新拉程式方塊,或要需要範例 aia檔的話,請前往第 2頁哦!

發表迴響