관리 메뉴

Information Security

안드로이드 4대 컴포넌트 본문

모바일

안드로이드 4대 컴포넌트

HackingPractice 2021. 1. 9. 17:00

앱 컴포넌트 (구성요소)

  • 앱 컴포넌트는 안드로이드 앱의 필수적인 구성요소로 각 독립된 형태로 존재하며 정해진 역할을 수행
  • 각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점
  • "인텐트"는 다른 앱 컴포넌트로부터 작업을 요청하는 데 사용할 수 있는 메시징 객체

Activity

  • 사용자와 상호작용하기 위한 진입점
  • 사용자 인터페이스를 포함한 화면 하나를 나타냄
  • 이메일 앱이라면 새 이메일 목록을 표시하는 액티비티 하나, 이메일을 작성하는 액티비티 하나, 이메일을 읽는 데 쓰는 액티비티 하나 등이 존재
  • 이메일 앱에서 허용할 경우 다른 앱에서 이와 같은 액티비티 중 하나를 시작할 수 있음

Service

  • 백그라운드에서 앱을 계속 실행하기 위한 다목적인 진입점
  • 사용자 인터페이스(UI)는 제공하지 않음
  • 사용자가 다른 앱에 있는 동안에 백그라운드에서 음악을 재생하거나, 사용자 액티비티 간의 상호작용을 차단하지 않고 네트워크를 통해 데이터를 가져올 수 있음

Broadcast Receiver

  • 시스템이 정기적인 사용자 플로우 밖에서 이벤트를 앱에 전달하도록 지원하는 컴포넌트
  • 대다수의 브로드캐스트는 시스템에서 발생 (화면 꺼짐, 배터리 부족, 사진 캡처 알림 등)
  • 일반 앱도 브로드캐스트를 사용하여 사용자 인터페이스를 표시하지 않지만, 상태 표시줄 알림을 생성

Content Provider

  • 콘텐츠 제공자는 파일 시스템, SQLite 데이터베이스, 웹상이나 앱이 접근할 수 있는 다른 모든 영구 저장소에 저장 가능한 앱 데이터의 공유형 집합을 관리함
  • 다른 앱은 제공자를 통해 해당 데이터를 쿼리하거나, 콘텐츠 제공자가 허용할 경우에는 수정도 가능
  • 안드로이드 시스템은 사용자의 연락처 정보를 관리하는 콘텐츠 제공자를 제공하여, 적절한 권한을 가진 앱이라면 콘텐츠 제공자를 쿼리 하여 특정한 인물에 대한 정보를 읽고 쓸 수 있음