[안드로이드] 4대 컴포넌트Android Studio/- Programming2024. 5. 13. 10:24
Table of Contents
728x90
안드로이드 앱을 구성하는데 가장 중요하고 필요한 4개의 요소이며 각 컴포넌트는 독립적으로 존재하며 고유의 기능을 수행한다는 특징이 있습니다.
또한 각 컴포넌트는 인텐트를 통해서 서로 상호작용을 합니다.
액티비티 (Activity)
- 사용자와 상호작용을 담당하는 인터페이스
- 앱을 실행 할때 전체를 호출하는것이 아닌 앱의 액티비티를 호출합니다.
- 2개이상의 액티비티를 동시에 Display할 수 없습니다.
- 액티비티 내에 프래그먼트(Fragment)를 추가하여 화면을 분할시킬 수 있습니다.
- 1개 이상의 View(텍스트, 버튼, 이미지) 또는 ViewGroup(레이아웃)이 있어야합니다.
- 반드시 Application에는 하나 이상의 액티비티가 있어야 합니다.
서비스 (Service)
- 액티비티와 반대로 사용자와 직접적으로 상호작용을 하지 않습니다.
다만, 백그라운드에서 어떠한 작업을 처리하기 위해서 주로 사용합니다.
- Application이 종료되어도 BackGround에서 동작하는 컴포넌트입니다.
( 음악앱을 예시로 앱을 종료해도 음악은 계속 재생됩니다. )
- 포그라운드 서비스: 사용자에게 잘 보이는 작업, 반드시 알림을 표시해야하며 사용자가 앱과 상호작용을 하지 않을 때도 계속 실행됩니다.
- 백그라운드 서비스: 사용자에게 직접 보이지 않는 작업
- 네트워크와 연동가능합니다.
- 앱이 API 26이상을 대상으로 할 경우
즉시 실행해야하는 작업: Work Manager
지연 작업: Alarm Manager
- 바인드 서비스: 앱 컴포넌트가 bindService를 호출해 서비스를 호출하면 서비스가 바인딩 됩니다.
바인딩된 서비스는 클라이언트-서버 인터페이스를 제공해 서비스와 상호 작용함. 여러개가 한꺼번에 바인딩 될수도있고 바인딩 된 컴포넌트가 모두 종료되면 서비스도 종료됩니다.
브로드캐스트 리시버 (Broadcast Receiver)
- 안드로이드 시스템( 배터리 부족 경고, 화면꺼짐, 문자수신 )로 부터 발생하는 각종 이벤트와 정보를 받아 핸들링하는 컴포넌트
콘텐트 프로바이더 (Content Provider)
- 애플리케이션 간의 데이터 공유를 가능하게합니다. 예를들어 연락처 애플리케이션이 다른 애플리케이션에 연락처 데이터를 제공할 때 사용됩니다.
- 인텐트는 작은 데이터를 Application끼리 데이터를 서로 공유하지만 콘텐트 프로바이더는 음악또는 사진 파일등과 같이 용량이 큰 데이터들을 공유하는데 적합합니다.
- 데이터베이스에서 흔히 사용되는 CRUD 원칙을 준수합니다.
반응형
'Android Studio > - Programming' 카테고리의 다른 글
[안드로이드] MVVM 패턴이란? (0) | 2024.05.21 |
---|---|
[안드로이드/viewBinding] 뷰바인딩은 무엇이고 어떻게 사용할까? (0) | 2024.04.30 |
[안드로이드] 액티비티 생명주기 ( Activity Lifecycle ) (0) | 2024.04.24 |
[안드로이드/Regex] 정규표현식, 회원가입 유효성 검사 (0) | 2024.04.08 |
[코틀린] lateinit과 by lazy의 차이점 (0) | 2024.03.29 |
@주코딩dev :: 주코딩의 개발노트
주코딩의 개발 노트!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!