안녕하세요.
이제 막 android 프로그래밍을 시작하려 하는데.. 그 전에 Activity와 View 의 개념과
사용법에대하여 간단히 집고 넘어가는게 좋을것 같아서 질문글을 쓰게 됩니다..
조금 막연한 질문이기는 하지만 답변 부탁드립니다.
제가 옛날에 안드로이드 프로그래밍에 약간 손을 델라 했을때, Activity와 View 에대해서
이해가 잘 가지 않더군요...
이 둘에대한 개념을 정확하게 답변해 주셨으면 합니다. 부탁드립니다 ~ ^^
보통 activity 와 view 를 1:1 관계로 디자인 하는 경우가 일반적이지만 꼭 그렇게 해야 하는건 아닙니다. 기능과 개념적으로 비슷한 view 들은 하나의 activity 로 한꺼번에 처리해도 됩니다. 단지 중간에 set content 로 뷰를 바꿔치기하면 수동으로 처리해줘야 하는 부분들이 좀 귀찮죠. 저는 개인적으로 activity 에 완전히 의존하기보다는 가급적 fragment 를 사용하기를 권해드리고 싶습니다.
Activity 는 말 그대로 Android 상에서 존재하는 활동의 하나의 개념입니다.
유저는 Android 상에서 연락처를 수정하는 활동(연락처 수정 Activity), 다이얼을 누르는 활동(Dial pad Activity) 등을 하죠.
Android는 핸드폰을 위한 OS기 때문에(화면이 좁으니까) 각 활동은 화면을 가득 채우고, 사용자에게 무언가 보여주고, 사용자의 입력을 받고, 만들어 지고, 사라지며 자신의 활동(연락처 정보를 수정한다던지, 전화 걸 번호를 입력한다던지)을 하죠.
부가적으로 Android 에서 제공하는 활동 단위의 기능을 갖습니다. Titlebar 를 갖고, 옵션 메뉴(Menu키 누르면 나타나는 메뉴)를 갖고, 등등...
View는 Android 위에서 '보여지는 것'입니다. 보여지기 때문에 자신의 모습을 갖고, 또한 사용자의 입력을 받을 수 있죠.
그래서 EditText, Button 등은 물론, LinearLayout 등도 View를 상속합니다.
Activity는 자신이 제공하는 기능 중 하나인 화면에 자신을 보여주는 기능을 수행하기 위해, View를 이용해 자신의 모습을 구성합니다.
setContentView() 메소드는 Activity가 자신의 모습을 하나의 뷰로 꾸미는 거라고 볼 수 있습니다.
즉, Activity는 핸드폰에서 사용자가 수행하려는 활동의 단위이며,
Activity는 그 활동을 위한 그림/버튼/메뉴 등을 표시하기 위해 View를 이용한다고 이해하시면 될 것 같습니다.




액티비티는 그냥 화면 하나로 생각하시면 편하고요
뷰는 버튼 텍스트창 등등 한가지 컴포넌트를 뷰라고 생각하시면 됩니다.
물론 리스트뷰나 스크롤뷰같은것도 있네요