개발 공부
안드로이드 컴포넌트(구성요소) 본문
안드로이드는 4개의 컴포넌트로 구성되고, 각 컴포넌트는 인텐트를 통해 상호 통신을 합니다.
>> Activity, Service, Broadcast Receiver, Content Provider
1. Activity
앱의 UI화면을 담당하는 컴포넌트
액티비티 역할을 위해서는 자바 소스에서 Activity클래스를 상속하여 기본적으로 가지고 있는 생명주기 메소드를 재정의하여 원하는 기능을 구현하는 방식으로 제작함
각 액티비티는 다른 액티비티를 실행할 수 있고, 다른 액티비티가 실행이 되면 이전의 액티비티는 정지되지만 시스템이 백스텍이라는 스텍에 저장해 둬서 없어지지 않습니다.
>>백스텍은 후입선출을 따라 사용자가 뒤로가기 버튼을 누를 경우 스택의 최상위인 현재 액티비티를 제거하고 이전의 액티비티를 실행합니다.
- 두개의 액티비티를 동시에 display는 불가
- 다른 앱의 액티비티도 불러낼 수 있음
- 액티비티 내 Fragment를 추가해 화면을 분할할 수 있음
2. Service
백그라운드에서 실행되는 프로세스
어플을 사용하며 다른 작업(음악, 다운 등)을 할 때 주로 사용
- 화면이 존제하지 않음
- 새로 만들면 Manifest에 등록해줘야 함
- 모두 Service클래스를 상속받아 사용함
- 네트워크를 통해 데이터를 가져올 수 있음
- 앱이 종료되도 계속해서 백그라운드에서 돌아간다.
3. Broadcast Receiver(방송 수신자)
안드로이드에서 다양한 이벤트와 정보를 받아 반응
(ex. 알림(배터리 부족, 문자 등))
- 특정 상황을 제외하고는 시스템에서 시작
4. Content Provider(콘텐츠 제공자)
데이터를 관리하고 다른 어플리케이션 데이터를 제동
데이터베이스의 데이터를 전달 시 많이 사용
- 파일 입출력, SQL DB, Web등을 통해 데이터를 관리함
- 다른 어플리케이션의 데이터도 변경 가능
- 작은 데이터는 intent로, 큰 데이터는 Content Provider가 적합
'언어 공부 > android' 카테고리의 다른 글
3. 다중 액티비티 활용 앱 (0) | 2021.06.03 |
---|---|
Intent (인텐트) (0) | 2021.06.03 |
2. 텍스트 출력 (0) | 2021.06.03 |
1. 앱 프로젝트 구조 (0) | 2021.06.02 |