ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] 기본적인 안드로이드 구조 및 용어 파악하기(1)
    Programming/Android 2020. 5. 21. 16:34

    1. Manifest

    - AndroidManifest.xml -> 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play 앱에 관한 필수 정보를 설명

    - 즉 메니페스트란 "안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록"

     

    Manifest에 선언해야 하는 내용

    - 앱의 패키지 이름

    - 앱의 구성요소

    - 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위해 필요한 권한

    - 앱에 필요한 하드웨어 및 소프트웨어 기능

     

    2. Permission

    - Manifest에 어떤 권한을 얻을 것인지 명시해야함

    - Activity클래스에서도 권한에 따른 코드를 추가해야함

    - 권한을 얻지 못한 상태에서 해당 권한이 필요한 작업을 시도하려고 하면 SecurityException 발생

    --> 모든 경우에 그런 것은 아니지만 대부분의 경우 Log에 찍힘

     

    3. 4대 컴포넌트

    -> 안드로이드 4대 컴포넌트는 Activity, Service, Content Provider, BroadCast Receiver등이 있음

     

    3-1 Activity

    - UI 화면을 담당하는 컴포넌트

    - 자바소스에서 Activity 클래스를 상속해야 하고, 기본적으로 가지고 있는 생명주기 메소드를 재정의 하여 원하는 기능을 구현하는 방식으로 제작

    - 가장 많이 쓰이는 컴포넌트

    - 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 가지고 있어야함

    - 두 개의 액티비티를 동시에 Display 할 수 없음

    - 다른 어플리케이션의 액티비티도 불러낼 수 있음

    - 액티비티 내에 Fragment 추가하여 화면 분할 가능

     

    3-2 Service

    - 서비스는 백그라운드에서 실행되는 프로세스

    - 화면이 존재하지 않음

    - 애플리케이션 구성요소이므로 항상 매니페스트에 등록을 해주어야함

    - 메인 Activity에서 서비스를 시작하고 싶은 경우 startService() 메서드 이용해 서비스 실행

    - 백그라운드에서 돌아가는 컴포넌트

    - 한 번 시작된 서비스는 어플리케이션이 종료되어도 계속해서 백그라운드에서 동작

    - 모든 서비스는 Service 클래스를 상속받아서 사용

    - 네트워크를 통해서 데이터를 가져올 수 있음

     

    3-3 Content Provider

    - 데이터를 관리하고 다른 어플리케이션 데이터를 제공해주는 컴포넌트

    - DB에서 데이터를 전달할 때 많이 사용

    - 생명주기를 가지고 있지 않음

    - Content Provider를 통해 다른 어플리케이션의 데이터 변경 가능

     

    3-4 Broadcast Receiver

    - 다양한 이벤트와 정보를 받아 반응하는 컴포넌트

    - 브로드캐스팅 메시지를 Broadcast Receiver라는 어플리케이션 구성요소를 이용해 받을 수 있음

    - 디바이스에서 발생하는 일 중에서 어플리케이션이 알아야 하는 상황이 발생하면 알려줌

    - 수신기를 통해 디바이스의 상황을 감지하고 적절한 작업 수행

    - 대부분 UI가 존재하지 않음

     

    REF)

    https://coding-factory.tistory.com/205

     

    [Android] 안드로이드 4대 컴포넌트(구성요소)란 무엇인가?

    안드로이드의 4대 컴포넌트는 액티비티, 서비스, 콘텐트제공자, 방송수신자 이렇게 4가지를 말합니다. 어플리케이션을 만들때 주요 구성요소이자 안드로이드의 사실상의 모든 구성요소입니다.

    coding-factory.tistory.com

     

Designed by Tistory.