1 minute read

Creating a New Class

Question 이라는 모델 클라스를 만든다.

public class Question {

    private int mTextResId;
    private boolean mAnswerTrue;

    public Question(int textResId, boolean answerTrue) {
        mTextResId = textResId;
        mAnswerTrue = answerTrue;
    }
}

Question 이라는 오브젝트는 문제의 내용(mTextResId)과 그 문제의 정답(mAnswerTrue)의 member variables가 있다.


Figure 2.4 Object diagram for GeoQuiz

이렇게 Controller의 역할을 하는 MainActivity (책에선 QuizActivity)에서는,

  1. Question 이라는 모델을 써서 여러가지 데이터를 질문의 형식으로 정리해서 저장하고,
  2. Resource Id를 써서 화면에 보이는 레이아웃들을 가져다 사용한다.

Model-View-Controller and Android

책에서의 Model-View-Controller에 대한 설명

MVC 형식을 쓰면 좋은점

  1. 어플리케이션을 추상적인 개념에서 이해하고 디자인하는데 도움이 된다.

    → 레이어별로 나눠서 생각할 수 있다.

  2. 독립화된 클래스들은 활용성이 높다.

    → 클래스가 맡은 한 임무를 어떤상황에서도 정확히 수행한다면 똑같은 임무가 필요할 때 다른곳에서 같은걸 사용할 수 있다.

Updating the View Layer

View layer에 NEXT 버튼을 추가해보자.

이런식으로 전체를 윗줄부터 삼등분하면 질문(TextView), 정답 버튼들(두개의 버튼이 있는 LinearLayout), 다음 질문 버튼(Button)이 있는 LinearLayout이라는걸 볼 수 있다.