📕안드로이드의 4대 구성요소

각 구성요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이며, 다른 구성 요소에 종속되는 구성 요소도 있습니다.
각 유형은 뚜렷한 목적을 수행하고 각자 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다.
💡Activites
- 사용자가 앱과 상호작용하기 위한 진입점 역할을 한다.
- UI를 포함한 화면 하나를 나타냄.
- 액티비티 간의 전환은 intent를 사용해서 전환한다.
- intent를 사용해서 외부 앱과도 연동이 가능하다.
💡Services
- 백그라운드에서 앱을 계속 실행하기 위한 다목적 진입점.
- 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행.
- UI를 제공하지 않음.
- 사용자와 액티비티 간의 상호작용을 차단하지 않고, 네트워클 르 통해서 데이터를 가져올 수 있음.
- 예로는 사용자가 다른 앱에 있는 동안에 백그라운드에서 음악을 재생하는 것.
💡Broadcast Receiver
- 이벤트 모델(부팅 ,화면 켬/끔, 배터리 상태 등 시스템의 특정한 상황)로 실행되는 컴포넌트라고 정의한다.
- 시스템에 어떤 이벤트가 발생하면 브로드캐스트 리시버를 실행해 앱이 해당 상황에 맞게 동작하도록 함.
- 앱도 브로드캐스트를 시작할수 있다.
- Ex) 다른 앱에 일부 데이터가 기기에 다룬로드 되고, 사용할 수 있다는 것을 알릴 때
- UI를 제공하지 않지만, 상태 표시줄 알림을 생성하여 사용자가에 알릴 수 있음.
💡Content Providers
- 앱의 데이터를 다른 앱과 공유할 때 사용
- 파일 시스템, SQLite 데이터베이스, 웹상이나 앱이 액세스 할 수 있는 모든 영구 저장 위치에 저장 가능한 앱 데이터의 공유형 집합을 관리함.
- 다른 앱은 콘첸트 제공자를 통해서 해당 데이터를 쿼리 하거나, 수정도 가능하다. [콘텐츠 제공자가 허락할 경우]
- 앱 전용이어서 공유되지 않는 데이터를 읽고 쓰는 데 유용하다.

💡Intent
- 앱 컴포넌트가 무엇을 할 것인지 액션과 데이터를 전달하는 메시지 객체
- 위에서 설명한 구성요소중 3가지(Acitivities, Service, Broadcast Receiver)는 비동기식 메시지로 활성화됨.
- 런타임에서 각 구성 요소를 서로 바인딩합니다.
- 구성 요소가 어느 앱에 속하든 관계없이 다른 구성 요소로부터 작업을 요청하는 역할을 한다.
- Intent 객체로 생성되며, 이것이 특정 구성요소(명시적 인텐트)를 활성화하거나 구성 요소의 특징(암시적 인텐트)을 활성화할지 타나 내는 메시지를 정의함.
- Activities 활성화
- 액티비티를 시작하거나 새로운 작업을 배정
- startActivity() 또는 startActivityForResult()를 intent에 전달
- Service 활성화
- 초기 Android 버전의 경우 Intent를 startService()에 전달
- Android 5.0(API 레벨 21) 이사엥서는 JobScheduler 클래스를 사용
- bindService()를 intent에 전달해 서비스에 바인딩 가능.
- Broadcast Receiver 활성화
- sendBroadcast() , sendOrderBroadcast(), sendStickyBroadcast()에 intent를 전달
- Contents provider 쿼리 수행
- intent 사용 x
- ContentResolver에서 query()를 호출
💡Manifest
- 앱 프로젝트 디렉터리의 루트에 있어야 한다.
- 주요 작업
- 앱의 패키지 이름
- 앱 구성요소의 선언
- 기본 속성 정의, 기기 구성의 종류, 인텐트 필터 선언
- 앱이 요구하는 모든 사용자 권한(예 : 인터넷 액세스, 사용자 연락처에 대한 읽기 액세스)을 식 벽한다.
- 최소 API 레벨을 선언
- 앱에서 사용하거나 요구하는 하드웨어 및 소프트웨어 기능(예: 카메라, 블루투스 서버, 멀티터치 화면)을 선언
- 앱이 링크되어야 하는 API 라이브러리(예: Google Maps라이브러리) 선언
'Skils > Android' 카테고리의 다른 글
[Android] Log 와 Logcat , 사용자 이벤트 처리 (0) | 2022.10.14 |
---|---|
[Android] - Layout이란 (0) | 2022.10.07 |
[Android] - 계산기 만들기(클론 코딩) - 계산 기록O (0) | 2022.09.18 |
[Android] - 계산기 만들기 (클론 코딩) -계산 기록 x (0) | 2022.09.17 |
[Android] Room (로컬 데이터베이스에 데이터 저장) (0) | 2022.09.03 |
📕안드로이드의 4대 구성요소

각 구성요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이며, 다른 구성 요소에 종속되는 구성 요소도 있습니다.
각 유형은 뚜렷한 목적을 수행하고 각자 나름의 수명 주기가 있어 구성 요소의 생성 및 소멸 방식을 정의합니다.
💡Activites
- 사용자가 앱과 상호작용하기 위한 진입점 역할을 한다.
- UI를 포함한 화면 하나를 나타냄.
- 액티비티 간의 전환은 intent를 사용해서 전환한다.
- intent를 사용해서 외부 앱과도 연동이 가능하다.
💡Services
- 백그라운드에서 앱을 계속 실행하기 위한 다목적 진입점.
- 오랫동안 실행되는 작업을 수행하거나 원격 프로세스를 위한 작업을 수행.
- UI를 제공하지 않음.
- 사용자와 액티비티 간의 상호작용을 차단하지 않고, 네트워클 르 통해서 데이터를 가져올 수 있음.
- 예로는 사용자가 다른 앱에 있는 동안에 백그라운드에서 음악을 재생하는 것.
💡Broadcast Receiver
- 이벤트 모델(부팅 ,화면 켬/끔, 배터리 상태 등 시스템의 특정한 상황)로 실행되는 컴포넌트라고 정의한다.
- 시스템에 어떤 이벤트가 발생하면 브로드캐스트 리시버를 실행해 앱이 해당 상황에 맞게 동작하도록 함.
- 앱도 브로드캐스트를 시작할수 있다.
- Ex) 다른 앱에 일부 데이터가 기기에 다룬로드 되고, 사용할 수 있다는 것을 알릴 때
- UI를 제공하지 않지만, 상태 표시줄 알림을 생성하여 사용자가에 알릴 수 있음.
💡Content Providers
- 앱의 데이터를 다른 앱과 공유할 때 사용
- 파일 시스템, SQLite 데이터베이스, 웹상이나 앱이 액세스 할 수 있는 모든 영구 저장 위치에 저장 가능한 앱 데이터의 공유형 집합을 관리함.
- 다른 앱은 콘첸트 제공자를 통해서 해당 데이터를 쿼리 하거나, 수정도 가능하다. [콘텐츠 제공자가 허락할 경우]
- 앱 전용이어서 공유되지 않는 데이터를 읽고 쓰는 데 유용하다.

💡Intent
- 앱 컴포넌트가 무엇을 할 것인지 액션과 데이터를 전달하는 메시지 객체
- 위에서 설명한 구성요소중 3가지(Acitivities, Service, Broadcast Receiver)는 비동기식 메시지로 활성화됨.
- 런타임에서 각 구성 요소를 서로 바인딩합니다.
- 구성 요소가 어느 앱에 속하든 관계없이 다른 구성 요소로부터 작업을 요청하는 역할을 한다.
- Intent 객체로 생성되며, 이것이 특정 구성요소(명시적 인텐트)를 활성화하거나 구성 요소의 특징(암시적 인텐트)을 활성화할지 타나 내는 메시지를 정의함.
- Activities 활성화
- 액티비티를 시작하거나 새로운 작업을 배정
- startActivity() 또는 startActivityForResult()를 intent에 전달
- Service 활성화
- 초기 Android 버전의 경우 Intent를 startService()에 전달
- Android 5.0(API 레벨 21) 이사엥서는 JobScheduler 클래스를 사용
- bindService()를 intent에 전달해 서비스에 바인딩 가능.
- Broadcast Receiver 활성화
- sendBroadcast() , sendOrderBroadcast(), sendStickyBroadcast()에 intent를 전달
- Contents provider 쿼리 수행
- intent 사용 x
- ContentResolver에서 query()를 호출
💡Manifest
- 앱 프로젝트 디렉터리의 루트에 있어야 한다.
- 주요 작업
- 앱의 패키지 이름
- 앱 구성요소의 선언
- 기본 속성 정의, 기기 구성의 종류, 인텐트 필터 선언
- 앱이 요구하는 모든 사용자 권한(예 : 인터넷 액세스, 사용자 연락처에 대한 읽기 액세스)을 식 벽한다.
- 최소 API 레벨을 선언
- 앱에서 사용하거나 요구하는 하드웨어 및 소프트웨어 기능(예: 카메라, 블루투스 서버, 멀티터치 화면)을 선언
- 앱이 링크되어야 하는 API 라이브러리(예: Google Maps라이브러리) 선언
'Skils > Android' 카테고리의 다른 글
[Android] Log 와 Logcat , 사용자 이벤트 처리 (0) | 2022.10.14 |
---|---|
[Android] - Layout이란 (0) | 2022.10.07 |
[Android] - 계산기 만들기(클론 코딩) - 계산 기록O (0) | 2022.09.18 |
[Android] - 계산기 만들기 (클론 코딩) -계산 기록 x (0) | 2022.09.17 |
[Android] Room (로컬 데이터베이스에 데이터 저장) (0) | 2022.09.03 |