저번에 DataLayer? 랑 ViewLayer랑 막 세분화하라고 하셔서.. 나름 분할하려고하는데..
string.xml에 정의 되어있는 string-array를 인터페이스로 나눠서 하려고하거든요..
근데 이게 배열하나다보니까 이거하나하는데 인터페이스 생성하고 enum 클래스 생성하고해서
액티비티에서 가져와도 괜찮은가 라는 생각이 들더라구요..
그래서 기존에 있던 enum 클래스에 코드한줄 넣으면 되는 일이긴한데.. 어떻게하면 좋을까요?
기존 인터페이스입니다
public interface WorkoutListSource {
public List<String> getWorkoutListByPart(BodyType type);
}
기존 enum 클래스입니다
public enum BodyType {
BACK(R.array.back_workout_list),
CHEST(R.array.chest_workout_list),
LEG(R.array.leg_workout_list),
SHOULDER(R.array.shoulder_workout_list),
BICEPS(R.array.biceps_workout_list),
TRICEPS(R.array.triceps_workout_list),
ABS(R.array.abs_workout_list);
@ArrayRes
private int resourceId;
BodyType(int resourceId) {
Log.d("확인용입나", "BodyType: ");
this.resourceId = resourceId;
}
public int getResourceId() {
return resourceId;
}
}
제가 추가하려는 string.xml에 정의되어있는 string-array입니다
<!-- Body Part -->
<string-array name="dialog_list">
<item>등</item>
<item>가 슴</item>
<item>하 체</item>
<item>어 깨</item>
<item>이 두</item>
<item>삼 두</item>
</string-array>
이걸 추가해야하는데,..이건 단순 BodyPart 그러니까 해당부위를 나타내는 리스트이고
BodyType은 해당 부위의 맞는 운동 리스트(string-array)를 가져와 정의하는 클래스인데
이 BodyPart리스트들을 BodyType에 그냥 넣을지..
아니면 한줄이더라고 더 직관성 있게 BodyPartSource 인터페이스와 BodyPart enum클래스를 새로 정의해서 분류하는게 나을까요?
그리고 추가적인 질문입니다만,
액티비티에서도 코드를 너무 onCreate나 프래그먼트의 경우 onCreateView에만 정의하는것같아
좀 정리하려고 합니다
init()이라는 함수를 정의하려하는데 여기에
findViewById()만 넣을지, 아니면
layoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false);
rcv_dailyRecord.setLayoutManager(layoutManager);
dailRecordItems = new ArrayList<>();
dailyRecordAdapter = new DailyRecordAdapter();
date = new Date();
이런 객체 생성하는것까지 다 넣을지.. 따로 넣는다면 이것도 새로 뭐 함수를 정의해서 할까하는데요..
어떻게 하면 좋을까요? 생명주기를 잘다룰줄알면 막 생명주기 함수들 정의해서 막 하고싶은데 아직 너무 어
렵네요 ㅠ
for(int i=0; i<dialog_str_list.length; i++) {
dialogItems.add(new BodyPartModel(dialog_str_list[i]));
}
그리고 이런 데이터를 넣어주는 작업조차 onCreate에서 하고있어 지저분해보여서
함수화 해주려고하는데 이런 한두줄 있는것도 메소도화 시키는게 더 좋을까요?
아직 어떻게 코드를 세분화하고 나눠야할지 어렵네요 감사합니다