Firebase에서 Firebase RealtimeDB처럼 store에서 실시간 데이터 값 받아오기
2024. 5. 9. 02:16ㆍ카테고리 없음
Firebase에서는 Realtime Database에서 DatabaseReference라는 클래스를 사용하여 데이터를 참조하고.
그 def로 참조한 값을 onDataChange 메소드를 오버라이드해서 쓰면 값이 변했을때 실시간으로 데이터를 변경해준다.
근데 이번에 희망온도는 실시간 데이터베이스가 아닌 DB에서 저장하는게 낫지않겠냐는 조원의 의견이 있어서
Hope 희망값을 DB로 이전하는 작업을 진행했다.
이 과정에서 같은 FireStore라서 똑같지 않을까 생각했지만. 애초에 다른 DB라서 동작 방식이 다르다.
결론부터 말하자면 addSnapShotListener을 사용하면 된다. 이 리스너를 사용하면 문서나 컬렉션의 변화를 실시간으로 감지하고 콜백함수를 제공하기 때문에. 이를 이용하여 데이터를 실시간으로 받아와볼 수 있다.
예제코드인데 이런식으로 구현을하면 텍스트뷰에 StoreDB의 희망 온습도값을 실시간으로 받아오고 출력해줄 수 있다.
가령 웹과 앱을동시에 서비스할때 웹에서 데이터를 변경하면 앱에서 실시간으로 동기화 되듯이말이다.
이런식으로 get자료형("필드값")을 사용하여 값을 바로 참조할수도있고. Map 구조에 getData();를 사용하여 자료형으로 받아서 사용해볼수도있는데. 개인취향에 맞게 사용할수 있다