개발/Android
[DataStore] DataStore 싱글톤으로 쓰기
Patrick0422
2021. 12. 1. 12:18
java.lang.IllegalStateException: There are multiple DataStores active for the same file: [...] You should either maintain your DataStore as a singleton or confirm that there is no two DataStore's active on the same file (by confirming that the scope is cancelled).
로그인 기능을 구현할 때 메인 액티비티에서 DataStore에 접근해 저장된 토큰값이 있는지 확인하고 없으면 로그인 화면으로 넘기는 방식을 구현하려 했는데,
로그인을 처리하는 액티비티에서도 DataStore를 사용해서 그런지 로그인 화면으로 넘어갈 때 DataStore 객체가 여러 개 존재한다는 Exception이 발생했습니다.
이를 해결하기 위해서 DataStore를 싱글톤으로 관리하라고 했는데, 검색해보니 그 방법은 아주 쉬웠습니다.
DataStore 객체를 파일의 최상단으로 옮겨주면 간단히 싱글톤으로 사용할 수 있다고 합니다.
해당 글 링크