1) Activity (액티비티)
사용자 인터페이스를 제공하는 컴포넌트로서 화면에 표시되는 UI를 구성한다. 사용자가 화면을 보고 상호작용할 수 있는 모든 것이 액티비티를 통해 이루어진다.
생명 주기: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
전환: Intent를 사용하여 다른 액티비티를 시작하거나 데이터를 전달할 수 있다.
예시: 로그인 화면, 설정 화면 등
2) Service (서비스)
백그라운드에서 오래 실행되는 작업을 수행하는 컴포넌트로서 사용자와 직접 상호작용하지 않지만 애플리케이션이 실행 중인 상태를 유지하면서 작업을 계속한다.
Started Service: 시작 후 백그라운드에서 무한히 실행됨 (startService())
Bound Service: 컴포넌트가 서비스에 바인딩되어 있을 때만 실행됨 (bindService())
생명 주기: onCreate(), onStartCommand(), onBind(), onUnbind(), onDestroy()
예시: 음악 재생, 데이터 동기화, 파일 다운로드 등
3) Broadcast Receiver
시스템 전체에서 발생하는 이벤트를 감지하고 응답하는 컴포넌트로서 애플리케이션이나 시스템에서 발생하는 브로드캐스트 메시지를 수신한다.
등록: 동적으로 코드를 통해 등록하거나 정적으로 AndroidManifest.xml 파일을 통해 등록할 수 있다.
수신: onReceive() 메서드에서 브로드캐스트 메시지를 수신하고 처리한다.
예시: 배터리 부족 알림, 네트워크 상태 변경, 문자 메시지 수신 등
4) Content Provider
애플리케이션 간에 데이터를 공유할 수 있게 해주는 컴포넌트로서 다른 애플리케이션에서 관리하는 데이터를 읽고 쓰는 기능을 제공한다.
URI 구조: 데이터를 고유하게 식별하기 위해 사용
CRUD 작업: query(), insert(), update(), delete() 메서드를 통해 데이터 작업 수행
퍼미션: 보안상 이유로 데이터 접근을 제어하기 위해 퍼미션을 설정할 수 있다.
예시: 연락처 데이터, 캘린더 데이터 등
4대 컴포넌트는 애플리케이션의 구조를 설계하고 구성하는 데 필수적인 요소로서 각 컴포넌트는 자신의 생명 주기를 가지며, 서로 상호작용하여 복잡한 애플리케이션의 기능을 구현할 수 있다.
(참고) https://teamsparta.notion.site/15-Android-4-a936d61ac5264bbf91af0809d7733df5
'앱 개발 > Kotlin_Android' 카테고리의 다른 글
Process, Thread (0) | 2024.06.13 |
---|---|
MVVM 패턴 사용 이유 (0) | 2024.06.11 |
API 사용하여 동영상 가져오기 (0) | 2024.06.05 |
Hilt & ViewModel (0) | 2024.05.31 |
검색 버튼 클릭시 키보드 숨김 처리 (0) | 2024.05.31 |