[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)

이런식으로 되어야하는지요...

그래서 이런경우에는 엔티티에 어떻게 데이터를 넣어야하나요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)