Android 앱의 필수 구성요소입니다.
각 구성요소는 시스템이나 사용자가 앱에 진입할 수 있는 진입점입니다.
Activity(액티비티)
- 안드로이드 애플리케이션의 사용자 인터페이스(UI)를 담당합니다.
- 사용자가 상호작용하는 화면 단위를 의미(버튼, 텍스트 필드, 이미지 등 UI요소 포함) 합니다.
- 사용자 이벤트(예: 버튼 클릭, 화면 터치 등)에 응답하여 작업을 수행합니다.
- 여러 액티비티를 조합하여 앱의 전체 기능 구현합니다.
Services(서비스)
- 여러 가지 이유로 앱을 백그라운드에서 계속 실행하기 위한 범용 진입점.
- UI 없이 작업을 수행합니다.
- 주로 네트워크 호출, 파일 다운로드, 데이터베이스 관리 등 장기 실행되는 작업을 처리하는 데 사용합니다.
- 다른 구성 요소와 연동하여 실행되거나 독립적으로 실행될 수 있습니다.
- 사용자가 앱을 종료해도 백그라운드에서 계속 실행될 수 있습니다.
Broadcast receivers(브로드캐스트 리시버)
- 시스템 또는 다른 앱으로부터 발생하는 브로드캐스트 메시지를 수신하고 처리하는 구성요소입니다.
- 예를 들어, 배터리 부족 경고, 디바이스 부팅 완료 등의 시스템 이벤트를 감지하고 알림을 사용자에게 전달할 수 있습니다.
- 백그라운드에서 실행 중인 서비스를 활성화하거나 특정 작업을 수행할 수 있습니다.
Content providers(콘텐츠 프로바이더)
- 앱의 데이터를 관리하고 다른 앱들과 데이터를 공유하는 데 사용됩니다.
- 데이터를 저장, 읽기, 쓰기 및 업데이트하는 기능을 제공하며, 데이터에 대한 액세스를 허용하거나 제한할 수 있습니다.
- 주로 데이터베이스, 파일 시스템 또는 네트워크 등의 데이터 소스에 대한 접근을 제공합니다.
- 다른 앱은 콘텐츠 프로바이더를 통해 데이터를 쿼리 하거나 수정할 수 있습니다.
참고문서
https://developer.android.com/guide/components/fundamentals?hl=ko#Components
'Android > 기본' 카테고리의 다른 글
[Android] 앱 아키텍처 가이드 (0) | 2024.11.12 |
---|---|
[Android]안드로이드 스튜디오 로그(Log) 가이드 (0) | 2024.11.10 |
[Android] Android 자동 테스트 작성 및 유형 (0) | 2024.09.06 |
[Android] 발생할 수 있는 Exception종류와 처리 방법 (1) | 2024.06.14 |
[Android] Deep Link 딥링크 (0) | 2024.03.18 |
[Android] MVVM 패턴(Model-View-ViewModel) (1) | 2024.03.14 |
[Android] Retrofit2와 RxJava의 통신 실패 관리 (0) | 2024.03.13 |
[Android] Activity Lifecycle 액티비티 생명주기 (0) | 2024.03.08 |