Android Application Components (MVC)

android components

1. Intent
Component에 Action, Data 등을 전달하는 메시지 객체
일반적으로 다음 세 가지 종류로 요약된다

  • Activity 시작
  • Service 시작
  • Broadcast 전달

2. Activity
사용자 인터페이스 화면을 관리하는 Component

  • 안드로이드 애플리케이션은 반드시 하나의 Activity를 가져야 함
  • 각 액티비티는 매니페스트 파일에 등록되어 있어야 함
  • Activity의 크기는 Status Bar 영역을 제외한 화면 전체로 고정 (원하는 위치에 원하는 크기로 변경할 수 없음)
  • 2개의 Activity를 동시에 보여줄 수 없음
  • 다른 애플리케이션의 Activity를 불러낼 수 있음
  • 하나 이상의 View를 가질 수 있음 (Activity 내에는 Fragment를 추가하여 화면을 분할하여 별도로 조작 가능)

3. Service
특정 Activity와 상관 없이 백그라운드에서 실행되는 Component

  • UI 없음 (화면 구성 레이아웃 작성 불필요)
  • 한번 시작된 Service는 애플리케이션이 종료되고 다른 애플리케이션으로 이동해도 계속 백그라운드에서 실행됨
  • 모든 Service는 Service 클래스를 상속받아서 작성됨
  • 네트워크를 통하여 데이터를 꺼내올 수 있음

4. BroadcastReceiver
특정 브로드캐스트에 반응하는 Component

  • 일반적으로 UI 없음
  • 단말기에서 발생하는 일 중에서 어플리케이션이 알아야 하는 상황이 발생하면 방송을 해줌
  • BroadcastReceiver를 통해 상황을 감지하고 적절한 작업을 수행함
  • 10초 이내의 작업만을 보증하므로 오랜 시간 동작해야 한다면 별도의 스레드로 처리하거나 서비스에 구현해야 함

5. Content Provider
애플리케이션 간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 Component (URI 사용하여 CRUD 가능)

  • 데이터는 파일 시스템이나 SQLite 데이터베이스, 웹상에 저장 가능
  • 콘텐트 제공자를 통해서 다른 애플리케이션의 데이터를 쿼리하거나 변경 가능

 

MVC 모델 외에 MVP, MVVM 등 모델에 대해서는 차후 글에서 다루도록 하겠음

 

 

출처
https://developer.android.com/guide/components/
https://kairo96.gitbooks.io/android/content/
http://ggodol.tistory.com/

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중