반응형
이미 진행중인 회사 프로젝트는 작업해둔 안드로이드 파일이 존재한다.
그래서 그 아이를 먼저 이해하고 새로운 기능을 추가하려고한다.
그러기위해 기본적인 흐름을 이해해보고자 기본 구성과 기능을 알아보려고한다.
공식사이트: https://developer.android.com/guide/components/fundamentals
App component
- Activities
- Services
- Broadcast receivers
- Content providers
이 component 들이 생성이되고, destroyed 되는지 알아보자!
Activities
- 사용자와 애플리케이션과 상호작용을 담당하는 인터페이스 + entry point!
- 애플리케이션은 반드시 하나 이상의 액티비티를 포함하고 있음
- 생명주기(Life Cycle) 관련 메서드들을 재정의하여 원하는 기능 구현 가능
- Activity 내에 Fragment를 추가하여 화면을 분할 가능
Service
- 백그라운드(Background)에서 어떠한 작업을 처리
- 메인 Thread 에서 동작하기 때문에 서비스 내에서 별도의 Thread를 생성하여 처리 필요
- Background에서 수행되기때문에 별도의 UI를 가지지 않음
- 애플리케이션이 종료되어도 이미 시작이 된 Service는 Background 에서 계속 동작
- 예) 모바일 게임을 하는 중에 동시에 유튜브 앱을 사용할 때
BroadCast Receiver (방송 수신자)
- 안드로이드 OS로부터 발생하는 각종 이벤트와 정보를 받아와 핸들링
- 사용자 디바이스의 네트워크 끊김 등 특수한 이벤트에 대한 처리때 동작
- 알림, 문자 수신 정보를 받아 처리를 해야할 때 동작
- 대부분 UI를 가지지 않음
- 안드로이드 디바이스의 특수한 상황에 대응하기 위해 사용됨
- 예) 메신저앱에서 메시지가 오면 모든 앱에 "메시지가 왔다"라는 하나의 정보를 BroadCase함
Content Provider (콘텐트 제공자)
- 데이터를 관리하고 다른 애플리케이션의 데이터를 제공하는데 사용
- 애플리케이션이 사용하고 있는 DB를 공유하기 위해 사용
- 애플리케이션 간의 데이터 공유를 위해 표준화된 인터페이스 제공
- 작은 데이터들은 Intent 로 애플리케이션끼리 데이터를 서로 공유 가능하지만, 용량이 큰 데이터를 공유할 때는 Content Provider 가 적합함
- 데이터의 Read(읽기), Write(쓰기)에 대한 permission (허용)이 있어야 애플리케이션에 접근이 가능함
Intent (인텐트)
- 애플리케이션 컴포넌트(구성요소) 간에 작업 수행을 위한 정보를 전달하는 역할 즉, 통신수단
- 액티비티 간의 화면 전환(이동) 에 가장 많이 사용
- 서로 독립적으로 동작하는 4가지 컴포넌트들 간의 상호 통신을 위한 장치
반응형
'웹앱프로젝트 > Android Studio & flutter' 카테고리의 다른 글
[Flutter] 플러터 시작하기 (설치, flutter doctor android studio 에러 해결) (0) | 2022.08.17 |
---|