- 새로운 Firebase 프로젝트 DB와 안드로이드 스튜디오 연결하기
오늘은 회의가 있는 날이었다.
일기장, 게시판 주요 기능 구현은 거의 다 마친 상태에서 앞으로 구현해야할 기능들에 대해 얘기를 나눴고
1:1상담 구현을 위해 필요한 Dialogflow를 연동하기 위해
기존에 사용하던 Firebase 프로젝트가 아닌 Dialogflow와 연동된
새로운 Firebase 프로젝트를 이용하도록 google-service.json 파일을 변경했다.
왜인지 모르겠지만 google-service.json 파일을 변경했음에도 불구하고 계속 기존 DB에 연결이 되었다.
이것의 원인을 찾지 못한 채로 회의를 마쳤고 문제 해결 방법을 찾아보았다.
내가 찾은 자료는 여러 개의 Firebase DB를 이용하는 방법이었는데
FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId("앱ID")
.setApiKey("API key")
.setDatabaseUrl("DB Url")
.build();
FirebaseApp.initializeApp(this, options, "이름");
FirebaseApp secondary = FirebaseApp.getInstance("이름");
FirebaseDatabase secondaryDatabase = FirebaseDatabase.getInstance(secondary);
FirebaseOptions와 FirebaseApp.initializeApp을 이용해서 이름을 지정해서 이용하는 것이었다.
이 방법대로 하면 연결은 되긴 하나, FirebaseApp의 디폴트 DB는 기존 DB와 연결이 돼서
이름 부분을 생략하고 FirebaseApp.initializeApp(this, options); 라고 적었더니
java.lang.IllegalStateException: FirebaseApp name [DEFAULT] already exists! 이런 오류가 발생했다.
디폴트 DB를 원하는 DB로 설정하지 않으면
Firebase를 사용하는 모든 java 파일에서 해당 부분을 수정해야했기 때문에
분명 다른 방법이 있을 것이라 생각하고 더 찾아보았다.
FirebaseApp.getInstance().delete();
이렇게 디폴트 DB를 삭제하면 더이상 오류는 발생하지 않는 것을 확인했지만
google-service.json 파일을 지웠는데도 기존 DB와 연결이 되는 것이 여전히 이해가 되지 않았다.
그리고 새벽에 팀원분이 우리와 똑같은 문제를 겪고 해결한 사례를 작성한 포스팅 링크를 보내주셨다.
https://bamgasi.tistory.com/m/2
포스팅을 읽어보면 알겠지만... 그렇다.
안드로이드 스튜디오 Build 메뉴에서 Rebuild Project를 하면 끝나는 것......!!!
다행스럽게도(?) 위의 방법을 따라하니 새로운 Firebase DB와의 연결이 제대로 되었다.
json 파일 변경하면 Rebuild 해야한다는건 전혀 몰랐지... 그래서 한참 헤맸는데
그나마 하루 이상 넘기지 않고 문제가 해결돼서 다행이라고 생각하자...
내일부터 다시 앱 기능 구현에 집중해야겠다!!
'[한이음 ICT 멘토링] > 개발 일지' 카테고리의 다른 글
2021.7.11 - 7.12 개발 일지 (게시판에 사용자 아이디 반영, 앱 테마 및 디자인 개선, 진단테스트 기능 구현 완료) (0) | 2021.07.12 |
---|---|
2021.07.10 개발 일지 (1:1 상담 레이아웃 구성, 로그인 유지, 마이페이지 사용자 정보 출력) (0) | 2021.07.11 |
2021.07.02 개발 일지 (데이터 중복 출력 오류 해결, 댓글 삭제 기능) (0) | 2021.07.02 |
2021.07.01 개발 일지 (게시글 수정/삭제, 댓글 등록/조회) (0) | 2021.07.02 |
2021.06.25 개발 일지 (게시판 Fragment화, 게시글 작성 및 조회 기능) (0) | 2021.06.26 |