App Inventor學習記錄183-多個 APP共用一個 FIREBASE專案

我們都知道一個免費帳號只能有 5個 FIREBASE的專案,我們一個 app用一個的話,很快就用完了,但其實多個 APP是可以共用一個 FIREBASE專案

記錄一下:
App Inventor學習記錄183-多個 APP共用一個 FIREBASE專案


這次的範例的完成品如下。

這裡用一個標籤分隔上下兩部份,上半部份是下載 firebase的資料,程式一開始就會先去抓同一個 firebase專案下不同 app 用的專案名稱加到清單選擇器 1的元素中。

再從依次清單選擇器 1、2中去選擇內容,最後我們就可以看到 app用的資料標籤及標籤下的內容。

下半部份則是上傳資料到不同 app用的標籤資料中。


雖然我 firebase用的不多,但隨便數一數也一定超過 5個。

我又不想帳號切過來切過去,切到那一個專案放在那一個免費帳號下都不記得。所以我之後都是一個 firebase專案,都會放好幾個流量不大的 app資料庫。


多個 app共用一個 firebase專案的時候,它的資料會長的像這樣子。

每一個 app用的資料庫的名稱,都是加在最前面,像是 135、NO_123_button_wait、NO_126_Light_sensor等等的,都是資料庫的名稱。

這裡的重點就是它的排列方式。


然後我們再回頭看一下 firebase元件的屬性這裡。

firebase URL,這裡我們放的就是 filebase的網址。
ProjectBucket,這裡就是該 app用的資料庫的名稱,也是我們上一張圖片看到,會加到專案中,最前面的名稱。所以接下來的部份,我們都利用調整 ProjectBucket的值,就可以多個 APP,共用一個 FIREBASE專案


畫面配置的部份如下。

有用到元件有標籤、按鈕、文字輸入盒、清單選擇器和最重要的 FIREBASE元件。


全部的程式方塊如下。


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

建立兩個清單來放從 FIREBASE取得的資料。


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

when screen 1.initialize當螢幕初初始化的時候。
先把 firebasedb 1.projectbucket的值設定成空白,這因為我們在拉一個新的 firebase元件的時候,app inventor會自動的把 firebasedb 1.projectbucket的值,設定成 app inventor專案的名稱

假設當 firebasedb 1.projectbucket的值設定成 135的時候,我們之後用 firebase元件的方塊的時候,都會在這一格名稱下做操作,所以我們先把這個值設定成空白。
這裡我們想成 135是一個資料夾的名稱,firebasedb 1.projectbucket設定成空白的話,就是移動到最上層的資料夾裡。

然後 call firebasedb.get tag list程式。


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

when firebasedb1. tag list,當 firebase元件,取得標籤的時候。
如果 firebasedb.projectbuckdet的值等於空白的話,就把清單_專案清單,設定成 get value的預設參數,把清單顯示器 1、3的元件給設定一下。如果不是的話,就把就把清單_標籤清單,設定成 get value的預設參數

這裡用文字說明的挺長,也說不清楚,建議大家實際上做一下,對照著做過一次就比較清楚了。


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

when listpicker 1.afterpicking,當清單選擇器 1完成選擇之後。
firebasedb.projectbuckdet的值設定成 listpicker 1.selection清單選擇器 1的選中項。
然後再 call firebasedb1.get tag list,呼叫 firebase取得標籤程式。

由於我們會在用 firebase取得標籤程式的時候,firebasedb.projectbuckdet的值會不一樣,所以我們在上一個部份中,才會用  firebasedb.projectbuckdet的值來做判斷式。


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

當清單選擇器 2完成選擇之後,我們 call firebasedb1.getvalue呼叫 firebase取得標籤內容的程式。
我們在清單選擇器 1的地方已經設定過 firebasedb.projectbuckdet的值,所以接下來我們呼叫 firebase取得標籤內容程式的時候,我們就可以去取得那一個 app資料庫下的資料。


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

把標籤 8的文字,設定成 get value的方塊內建參數值。


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

按鈕按下的時候,如果文字輸入盒 1和 2都有內容的話,call listpicker 3.open,呼叫清單選擇器 3打開選擇內容。

補充一下 spinner下拉式選擇和 listpicker清單選擇器的一點點不同的地方。
如果我們把下拉式選擇的可見性設定成 false的話,呼叫下拉式選擇打開的程式,就會沒有作用。但是如果我們把清單選擇器的可見性,設定成 false的話,呼叫清單選擇器打開選擇內容的程式是會起作用。


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

這個部份就是 call firebasedb.store value,呼叫 firebase元件儲存資料的程式。

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

發佈留言