Android의 구성 요소 (2)
2021. 8. 3. 09:52
728x90
[ 안드로이드 Application 구조 ]
MVC 모델은 Model, View, Control 로 구성되어 있다.
- Model (모델) : application의 data를 저장하는 영역
- 종류 : 안드로이드에 내장된 DB (SQLite, File), Content Provider
- View(뷰) : 화면을 구성하는 영역
- 종류 : View 클래스를 상속하는 클래스를 사용해서 구성할 수 있음
- Control(컨트롤) : View, Model을 서로 연결하고 제어하는 영역
- 종류 : Activity, Service, Broadcast Receiver, Fragment
[ 컴포넌트 활성화 및 비활성화 ]
1. 활성화
- Activity - Intent 에 의해 활성화 됨
처음에 새로운 프로젝트를 생성하면, app > manifests > AndroidManifest.xml 파일 안에 아래와 같이 표시되어 있다. 즉, 우리는 앱 실행 시 가장 처음에 뜨는 화면이 Main Activity인 것을 알 수 있다.
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- Service - Intent 에 의해 활성화 됨
- Broadcast Receiver - Intent 에 의해 활성화 됨
- Content Provider - Content Resolver 에 의해 활성화 됨
2. 비활성화
- Activity - finish() 메서드 호출. 다른 activity를 비활성화 하려면 finishActivity() 호출.
- Service - stopSelf() 또는 Context.stopService() 메서드 호출.
- Broadcast Receiver, Content Provider - 각자 Broadcast 메세지, content resolver의 요청 응답시에만 활성화 되므로 직접 비활성화 시킬 필요가 없음.
[ View ]
아래의 구성도를 보자. 안드로이드 화면을 구성하는 interface 요소들은 전부 View 클래스를 상속한다. 그리고 ViewGroup 클래스를 상속하지 않는 클래스는 layout 안에 포함하여 사용한다.
View의 종류는 매우 다양하지만 그 중 내가 많이 사용한 것은 TextView와 EditText이다 (사실 너무 많아서 2개만 씀ㅎ)
1. TextView : 화면에 고정된 문자열을 보여줌 (사용자가 수정할 수 없음)
- Layout - wrap_content : 콘텐츠에 필요한 치수대로 알아서 크기 설정
- Layout - match_parent : 상위 뷰 그룹이 허용하는 한 최대한 커지도록 설정
2. EditText : 사용자 입력을 받을 수 있는 view.
참고 사이트 : https://developer.android.com/guide/topics/ui/declaring-layout?hl=ko
728x90
'Android Studio > Android' 카테고리의 다른 글
[에러] llegalStateException: Session is not initialized. Call KakaoSDK#init first. (0) | 2021.08.06 |
---|---|
(Apache) 개인 서버 사용 방법 (0) | 2021.08.04 |
앱 개발 시 유용한 사이트 모음 (0) | 2021.08.03 |
이미지 파일 추가하기 (0) | 2021.08.03 |
Android의 구성 요소 (1) (0) | 2021.08.02 |