hwang434 / cando_app_firebase

cando-web과 같이 사용할 수 있는 안드로이드 app
0 stars 1 forks source link

UserViewModel의 초기화 문제 #41

Closed hwang434 closed 2 years ago

hwang434 commented 2 years ago

유저뷰모델이 초기화 되면서 UserViewModel의 멤버 변수인 FirebaseAuth가 초기화 된다. FirebaseAuth의 email을 인식해서 회원을 삭제하는데, null을 받으므로 회원 삭제가 진행되지 않는다.

해결 방안 ~~1. 유저의 정보를 담는 UserViewModel을 activityviewmodels로 초기화하기. -> 애초에 유저의 정보는 액티비티 내내 필요하기 때문에, 매번 초기화할 필요가 없어서. 액티비티 뷰모델로 프래그먼트 간에 유저 정보를 공유하는 게 나을 수도 있다.~~

postValue 메서드로 라이브데이터(FirebaseAuth)를 업데이트하면서 생긴 문제였다. setValue는 메인 스레드에서 값을 변경하는데 반해. postValue로 라이브데이터를 업데이트할 시, 백그라운드에서 데이터를 업데이트한다. 따라서, 라이브데이터가 업데이트하는데 시간이 걸릴 수 있다. 프래그먼트의 onViewCreated나 액티비티에 onCreate에서 ViewModel을 초기화하면 프래그먼트가 보이기 전에 postValue가 진행되어, 화면에 프래그먼트가 보이기 전에 라이브데이터의 값이 업데이트 된다.