実現したいこと
下記にあるRealtime Databaseの機能をFireStoreでも同様の機能で再現したいと考えています。
公式のリファレンスやStack Overflowを読んでみても解決法が見つかりませんでした。
ちょっと古い参考資料を使っているものでどうしてもここを解決しておかないと前に進めないという状況です。
参考にしているYoutube(チャットアプリの作り方)
ですので、こちらの解決策をご存じの方がいらっしゃいましたら
ぜひご教授していただきたいです。
Realtime Database
kotlin
1val ref = FirebaseDatabase.getInstance().getReference("latest-messages/testuser") 2ref.addChildEventListener(object: ChildEventListener { 3 override fun onChildAdded(p0: DataSnapshot, p1: String?) { 4 // 追加された時の処理 5 } 6 override fun onChildChanged(p0: DataSnapshot, p1: String?) { 7 // 変更された時の処理 8 } 9 override fun onChildMoved(p0: DataSnapshot, p1: String?) {} 10 override fun onChildRemoved(p0: DataSnapshot) {} 11 override fun onCancelled(p0: DataSnapshot) {} 12})
自分なりに変換したFireStoreコード
kotlin
1val ref = FirebaseFirestore.getInstance().collection("latest-messages/testuser") 2ref.addSnapshotListener { value, error -> 3 4 for (dc in value!!.documentChanges) { 5 when (dc.type) { 6 DocumentChange.Type.ADDED -> { 7 // 追加された時の処理 8 } 9 DocumentChange.Type.MODIFIED -> { 10 // 変更された時の処理 11 } 12 } 13}
一見変換できたと思ったのですが
どうやら.collection("latest-messages/testuser")
の部分で
セグメント?(latest-messagesとかtestuserの部分)が奇数個じゃないとエラーになるようでした。
java.lang.IllegalArgumentException: Invalid collection reference. Collection references must have an odd number of segments, but latest-messages/testuser has 2
回答1件
あなたの回答
tips
プレビュー