經過前兩篇文章的環境設定、導入與使用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 最另人期待的多條件查詢了…
不好意思可以請問一下User類別是怎麼做出來的嗎?
可以問一下User的屬性是怎麼做的嗎?
自行設計User類別,它是個JavaBean,可參考Java課程: https://hahow.in/cr/javakotlin
請問之前有一篇Firebase 的E-mail登入教學,可以重刊嗎?
已針對過時或版本不符的文章進行清理,除非再重寫一篇。
可參考學強之路,有完整教學 https://litotom.com/product/kotlin-firebase-shop/