iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0

這次我們要用另外一個也同是Firebase的即時雲端儲存服務,名叫RealTime。而他們兩個同時並存,但是資料不互通。

我們直接看realTime跟firestore的資料結構有哪些不一樣(以下是realtime),

https://ithelp.ithome.com.tw/upload/images/20211001/20138017yzc42iOy6c.png

firestore則是以下

https://ithelp.ithome.com.tw/upload/images/20211001/20138017UAmlj05Kat.png

官方網站有提到關於兩者不同的差異,大家可以去看一下~

https://firebase.google.com/docs/firestore/rtdb-vs-firestore?hl=zh-cn

並且跟之前一樣,我們到Tools→Firebase來新增Realtime Database的implemetaion,

並且到Firebase的平台,把我們的安全性規則先把read跟wrtie都寫成true

https://ithelp.ithome.com.tw/upload/images/20211001/20138017w7LpGkFWaJ.png

接下來來看一下我們的一些常用的方法

1.拿到Reference

private lateinit var database: DatabaseReference

database = Firebase.database.reference

接下來來看一下我們的一些常用的方法

2.寫入資料,用setValue

覆蓋 tom下面的keri的值
database.child(tom).child(Keri).setValue(message)

使用後會覆蓋資料

3.讀取資料


ref.addValueEventListener(object : ValueEventListener{
            override fun onDataChange(snapshot: DataSnapshot) {
                val list = mutableListOf<Message>()
                for (i in snapshot.children){
                    val message = i.getValue(Message::class.java)
                    if (message != null) {
                        list.add(message)
                    }
                }
                _messageList.postValue(list)

            }

            override fun onCancelled(error: DatabaseError) {
                TODO("Not yet implemented")
            }
        })

好的,那就明天見囉!


上一篇
【day15】DashboardFragment X Firestore搜尋
下一篇
【day17】 時間格式 X 搜尋結果排序
系列文
30天建立寵物約散App-Android新手篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言