안드로이드 구성요소
액티비티
서비스
브로드캐스트 리시버
콘텐트 프로바이더
액티비티를 제외한 다른 요소들은 UI를 가지고 있지 않아서 알림메세지나 토스트의 도움을 받아 동작 여부 확인
콘텐트 프로바이더 - 앱 간 데이터 공유를 위한 것
인텐트 - 컴포넌트들간 통신을 위해서 사용
액티비티
- 애플리케이션의 한 '화면'을 의미 사용자의 입력을 받고 결과를 보여주는 역할
- 휴대용 단말기의 제한적인 성능으로 인해 액티비티의 상태와 액티비티 생애주기에 따라 생성되거나 소멸됨 그러므로, 액티비티의 상태와 생애주기에 대해 잘 알고 있어야 한다.
서비스
- 백그라운드에서 실행되는 컴포넌트
- 액티비티는 화면에 표시된 상태가 아니라면 비활성화 상태가 되는데, 비활성화 상태에서도 계속 작업을 할수 있게 해주는 것이 서비스
브로드캐스트 리시버
- 인텐트 형태의 방송 메세지를 수신하는 역할, 주로 시스템의 상태(배터리 상태, 통신 상태, sd카드 삽입등)을 알리기 위해 사용, 애플리케이션에서 특정 작업이 완료되었을떄 처리할 동작을 구현할 떄도 사용
* 브로드캐스트 메세지는 인텐트의 일종
콘텐트 프로바이더
- 한 애플리케이션 내의 데이터를 다른 애플리케이션에서도 사용할 수 있게 해주는 것
- 접근할수 있는 데이터의 범위, 방법등을 지정함.
- 콘텐트 리졸버를 사용하여 콘텐트 프로바이더에 접근
인텐트
- 액티비티, 서비스 호출 및 브로드 캐스트 리시버에 메세지를 전달 할 때 사용 명시적 인텐트, 암시적 인텐트로 나뉨
- 명시적 인텐트는 호출하거나 메세지를 보낼 컴포넌트가 명확하게 지정
- 암시적 인텐트는 대상이 지정되어 있지 않고, 대상의 속성만 지정 수신하는 대상이 여러 개가 될 수 있음.
- 암시적 인텐트를 사용하기 위해선 안드로이드 시스템이 각 컴포넌트의 속성을 미리 알고 있어야함 그래서 인텐트 필터를 사용하여 해당 컴포넌트의 속성을 안드로이드 시스템에 등록해야 함.
알림 메시지
- 사용자에게 특정 이벤트를 알릴때 사용
- UI가 없는 서비스, 브로드캐스트 리시버가 사용자에게 작업완료등을 알리기 위해 사용
- 알림바, 알림패널,소리,진동,LED등을 사용
토스트
- 특정 이벤트를 사용자에게 알릴때 사용 간단한 메세지를 표시