Realtime Database | FlutterFire
realtime database를 처음 사용하며 기존에 사용하면 firestore랑 동일하게 한다고 생각을 하였으나 오산이였다.
일단 key 값과 value 값을 전달받기는 하나 이것을 저장 할방법을 몰랐으며
realtime database의경우 firestore랑 다른 가장 큰 차이점은 값이 실시간으로 변경될때마다 해당값에 대한 콜백을 받을수 있다.
채팅 과같은 실시간 업데이트가 되어야 하는 제품의경우 realtime 을 쓰는게 좋다.
Map을 사용하여 키값을 빼야한다
var ref = FirebaseDatabase.instance.ref();
ref.onValue.listen((event) {
Map<String, dynamic>.from(event.snapshot.value as dynamic)
.forEach((key, value) => {print(key) , print(value)});
});
onValue.listen의 경우 해당 child에서 데이터의 변경이 있을경우 실행하며
Map.from으로 해당 값들을 받은뒤 key와 value값 얻어야한다.