개발노트
룸 데이터베이스 템플릿 관리하기 및 유저 사용측면 고려
시계속세상은아직돌아가는중
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초나 앱이 켜지는데 시간이 걸린다면 사용자 측면에서 불편한게 아닌가?