[Android] 사진과 같은 형태를 만드는데 DB는 어떻게 구성되어야하나요?
조회수 813회
위 사진과 같은 기능을 만들었습니다.
7개의 탭(탭하나는 가려져있네요) 과 각 탭(해당 부위)별로 운동리스트를 보여줍니다.
탭레이아웃과 뷰페이저를 사용했고 탭의 내용물(컨텐츠)에 대해서는 RecyclerView
를사용하였습니다.
리사이클러뷰의 아이템에 뿌려주는 텍스트 데이터는 strings.xml
리소스 파일에 string-array
를
사용하여 R.array.~~
해서 List
형태의 값을 가져와 뿌려주는 식으로 만들었습니다.
그런데 이제 리소스 파일에서 가져오던 데이터를 DB에 넣고 사용하고 싶어졌고,
Room을 이용하기로 헀습니다.
그런데 문제가 엔티티(테이블) 클래스를 만들때부터 생겼는데...어떻게 설계를 해야할지 모르겠습니다.
@Entity
data class Workout(
@PrimaryKey(autoGenerate = true)
val id: Int,
val chest: String,
val back: String,
val leg: String,
val shoulder: String,
val biceps: String,
val triceps: String,
val abs: String
)
일단은 이렇게 만들었는데 이렇게 만들게 되면 문제가
이제 초기 데이터를 설정할 때인데
이렇게 엔티티를 만들면 데이터를 넣을때
Workout("벤치프레스", "풀업", "스쿼트", "숄더프레스", "바벨컬", "케이블푸쉬다운", "싯업")
이런 식으로 넣어야겠죠?
그런데 저는 언급했다시피 strigs.xml
을 이용하고 string-array
를 만들어서 데이터를 가져온다고
말했습니다.
즉 하나의 부위 단위로 데이터를 가져오는 셈인데 이렇게 되면 어떻게 넣어야하나요? 각 부위마다 하나씩 데이터를 가져올순 없을거같고 된다고해도 비효율적일것같구요..
그렇다고 또 하나의 부위 단위로 데이터를 가져온다고해도
엔티티에 넣을때는
Workout("등데이터", null, null, null, null, null, null)
이런식으로 되어야하는지요...
그래서 이런경우에는 엔티티에 어떻게 데이터를 넣어야하나요?
댓글 입력