[Android] 애플리케이션 기본항목 - 4대 구성요소(Component)

2022. 9. 23. 00:02· Skils/Android
목차
  1. 📕안드로이드의 4대 구성요소
  2. 💡Activites
  3. 💡Services
  4. 💡Broadcast Receiver
  5. 💡Content Providers
  6. 💡Intent
  7. 💡Manifest

📕안드로이드의 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
  1. 📕안드로이드의 4대 구성요소
  2. 💡Activites
  3. 💡Services
  4. 💡Broadcast Receiver
  5. 💡Content Providers
  6. 💡Intent
  7. 💡Manifest
'Skils/Android' 카테고리의 다른 글
  • [Android] Log 와 Logcat , 사용자 이벤트 처리
  • [Android] - Layout이란
  • [Android] - 계산기 만들기(클론 코딩) - 계산 기록O
  • [Android] - 계산기 만들기 (클론 코딩) -계산 기록 x
재한
재한
안녕하세요 💻
짜이한안녕하세요 💻
재한
짜이한
전체
오늘
어제
  • 분류 전체보기 (504)
    • Skils (118)
      • Android (52)
      • C++ (5)
      • Kotlin (36)
      • Algorithm (24)
      • Server (1)
    • CodingTest (228)
      • Programmers (45)
      • Baekjoon (183)
    • Experience (8)
      • 후기(코딩테스트,프로그램,프로젝트) (8)
    • Computer Science (70)
      • Design Pattern (2)
      • OOP (2)
      • Computer Architecture (14)
      • OS (2)
      • Software Engineering (3)
      • DataBase (8)
      • Network (39)
    • 학교 (75)
      • R프로그래밍 (26)
      • 회계와 사회생활 (17)
      • 컴퓨터학개론 (20)
      • it기술경영개론 (12)

블로그 메뉴

  • 홈
  • 태그
  • 카테고리
  • 글쓰기
  • 설정

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
재한
[Android] 애플리케이션 기본항목 - 4대 구성요소(Component)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.