Cloud Firestore 之三部曲,設計資料類別(Model)快速新增複雜資料

經過前兩篇文章的環境設定、導入與使用Map集合類別新增書籍資料後,還有什麼好東西呢? 會使用 Java 語言的 Model 資料模型設計類別,直接將物件新增至 Firestore 是最常見的設計。

前兩篇文章:

使用 Android Studio 3 開發新世代旗艦雲端資料庫 Cloud Firestore 之首部曲,類別庫導入與設定

Cloud Firestore 之二部曲,資料新增讓你的 APP 馬上成為雲端應用

使用物件新增 Firestore

我想為 APP 設計會員帳號,因此要準備一個專門儲存會員資料的集合,先設計 User 類別,屬性有 uid、nickname 匿稱、Email、年齡、姓別等。只要有 User 物件,可以直接呼叫 add 方法,將物件新增在 users 資料集中,如下:

有許多學員問我,為什麼那麼麻煩,還要用 OnCompleteListener 、匿名類別設計等。好吧,這一次,我沒使用它,看看會有什麼問題吧。

執行後,LogCat 顯示 false,麻煩了,這不就代表新增失敗了嗎?

但是在 Firebase 主控台中卻顯示該 User 物件已成功新增在 users 資料集了,這是因為如果不用非同步方式,執行 isSuccessfule()方法時,在該筆資料還未新增時就回應 false 了。

非同步設計

因此,還是需要以下設計:

執行後,當成功新增後出現 Snackbar:

Firebase 主控台如下圖:

批次多筆資料新增

因為我需要多筆資料做為專案測試用,寫了個方法來新增數個會員帳號資料,如下:

這是測試用,所以不需要在每筆新增完告知了,省掉了 OnCompleteListener,執行完的 Firestore 主控台如下圖:

有了測試資料後,接著要來設計 Firestore 最另人期待的多條件查詢了…

Cloud Firestore 之四,查詢全部資料集的資料Model與複合條件查詢

5 Comments

  1. 0.0

    不好意思可以請問一下User類別是怎麼做出來的嗎?

  2. Jabo

    可以問一下User的屬性是怎麼做的嗎?

  3. 學員

    請問之前有一篇Firebase 的E-mail登入教學,可以重刊嗎?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *