개발노트

룸 데이터베이스 템플릿 관리하기 및 유저 사용측면 고려

시계속세상은아직돌아가는중 2023. 10. 21. 10:51

1. 두 개의 entity를 이용한 두 개의 테이블

 

1) 템플릿 이름을 저장하는 테이블

2) 템플릿의 정보를 저장하는 테이블

 

템플릿의 id = 템플릿 정보가 저장되는 테이블 entity의 id

 

템플릿 삭제 시 id를 조회하여 동일한 id를 가진,정보를 저장하는 템플릿에 삭제

 

templatename_table

id key name
0 'firebase에서 할당받음' 템플릿

tmeplatedata_table

id templatename data1 data2 data3
0 템플릿 json json json

data들은 리스트 형태로 들어오지만, database에 list를 직접 넣을 수 없다.

따라서 gson 라이브러리를 이용하여 json으로 변환하여 list들을 json형태로 넣어주고

앱이 실행될 때 역직렬화를 해준다.

 

 

2. splash 화면의 필요성

 

로그인 데이터 조회를 splash화면에서 처리함으로써 로그인 했는지 안했는지 확인하는 것을 막아보자.

-> 로그인 액티비티를 프래그먼트 형태로 떼어내서 분리를 해야할 것 같음

 

구성

 

splash 화면 on

유저 정보가 있다면 templateactivity로

유저 정보가 없다면 로그인fragment로

 

splash화면의 딜레이는 로직이 받아오는 시간을 측정해서 넣자.

딜레이는 1~2초사이가 안전할 것같음

 

그런데 2초나 앱이 켜지는데 시간이 걸린다면 사용자 측면에서 불편한게 아닌가?