본문 바로가기

Programming Study/안드로이드

안드로이드 애플리케이션 구조


안드로이드 애플리케이션은 MVC 모델로 구성

MVC 모델이란?
MVC 모델이란 모델(Model), 뷰(View), 컨트롤러(Controller)의 구조를 의미한다.
기술 개발에 있어서 전체 프로젝트의 구조를 기능별로 분화시킨 것임.

모델은 우리가 다루는 데이터, 즉 정보 그 자체를 의미한다.
모델이 다루는 것은 DB의 내용이 될 수도 있고, archive file이 될 수도 있다.
분명한 것은 모델이 다루는 것은 처리해야 할 데이터이며, 이들을 컨트롤러에서 처리할 수 있도록 넘겨주는 역할을 한다.

컨트롤러는 데이터를 가지고 처리하는 부분을 의미한다.
컴퓨터 공학의 핵심인 input / process / output 구조에서 process에 해당하는 부분이 된다.
사용자의 요청이 있으면 모델에서부터 데이터를 받아와 처리한 뒤 뷰에 넘겨준다.

뷰는 처리된 결과를 바탕으로 요청한 사용자에게 실제로 보여준다.
이때 뷰가 보여주는 내용은 그 자체의 내용보다는, 컨트롤러에서 처리해서 넘겨준 내용이 되어야 한다.

안드로이드 어플리케이션에서 MVC 모델의 영역을 살펴보자.
 View(뷰) : 화면 구성을 담당하는 영역
                View 클래스를 상속하는 클래스를 사용해서 구성 할 수 있다.

Control(컨트롤) : View와 Model을 서로 연결하고 제어하는 영역
                        액티비티, 서비스, 브로드캐스트 리시버가 포함

Model(모델) : 애플리케이션의 데이터를 저장하는 역할을 담당
                    안드로이드에 내장된 데이터베이스인 SQLite, File 그리고 애플리케이션 간의 데이터 공유를 위해 사용할 수
                    있는 콘텐트 프로바이더가 이 영역에 속함.