Android 개발 용어 정리

김태영·2024년 5월 3일
0

내일배움캠프

목록 보기
4/6
post-thumbnail

1. 안드로이드 4대 컴포넌트

안드로이드 앱을 구성하는데 필요한 4가지 요소로 다음과 같다.

  • 액티비티 Activity
  • 서비스 Service
  • 방송 수신자 BroadCast Receiver
  • 컨텐츠 제공자 Content Provider

특징

각 컴포넌트는 다음과 같은 공통적인 특징을 지닌다.

  • 독립적인 형태로 존재한다.
  • 고유한 기능을 수행한다.
  • 인텐트(Intent)를 통해 서로 상호작용한다.

인텐트가 뭔데?

메시징 객체로, 컴포넌트간의 작업 수행을 위한 정보를 전달하는 역할을 하는 통신 수단이다. 다른 앱의 컴포넌트를 활성화시키는 데 사용할 수 있다.

액티비티

사용자와 상호작용하기 위한 진입점이다. 즉, 사용자에게 실제로 보이는 화면을 의미한다. 앱을 실행 할 때 앱을 전체적으로 호출하는 것이 아닌, 앱의 액티비티를 호출하는 것이다. 사용자에게 드러나는 화면을 의미하기 때문에, 적어도 하나 이상의 액티비티가 있어야 한다.

서비스

사용자와 직접 상호작용하지는 않지만, 백그라운드에서 어떠한 작업을 처리하기 위해 주로 사용한다. 애플리케이션이 종료되어도 백그라운드에서 동작한다.

방송 수신자

안드로이드 OS로부터 발생하는 각종 이벤트와 정보를 받아 핸들링한다. 대부분 UI를 가지지 않고, 특정 이벤트에 맞게 정의한 작업들을 수행한다.

컨텐츠 제공자

데이터를 관리하고 다른 애플리케이션의 데이터를 제공하는 데 사용된다. 특정 애플리케이션이 사용하고 있는 데이터베이스를 공유하기 위해 사용한다. 인텐트로는 작은 데이터를 공유하는 데, 컨텐츠 제공자로는 용량이 큰 데이터를 공유하는 데 사용한다.

2. AVD(Android Virtual Device)

말 그대로 안드로이드 가상 기기를 말한다. 여러가지 안드로이드 기기 및 환경을 테스트하는 데 사용된다.

왜 사용할까?

실제 안드로이드 기기가 없어도 테스트 할 수 있고, 다양한 기기와 안드로이드 버전에서 개발한 앱을 실행해 볼 수 있기 때문이다.

3. SDK(Software Development Kit)

소프트웨어를 만들기 위한 개발 도구 모음으로, 프로그램 개발의 복잡성을 줄이는 기능 집합이다. 다른 회사에서 구현한 기능을 바로 내 애플리케이션에 사용할 수 있게 해준다. API, 라이브러리, IDE(코드 에디터), 가이드 문서 등이 포함될 수 있다. 예를 들어 안드로이드 앱 개발에는 자바(혹은 코틀린)를 포함한 SDK, iOS 개발에는 스위프트가 포함된 iOS SDK가 필요하다.

4. 안드로이드 Layout

레이아웃은 여러 뷰들을 포함하고 배치하는 역할을 한다. 안드로이드에서 제공하는 레이아웃 중, 자주 쓰이는 레이아웃 다섯 가지를 알아보자.

  • ConstraintLayout (Default): 제약 조건(Constraint)을 사용하여 화면을 구성한다.
  • LinearLayout: 한 쪽 방향으로 차례대로 뷰를 추가하여 화면을 구성한다.
  • RelativeLayout: 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성한다.
  • TableLayout: 뷰들을 표처럼 배치하여 화면을 구성한다.
  • FrameLayout: 가장 상위에 있는 하나의 뷰 또는 뷰 그룹만 보여준다. 여러 개의 뷰를 중첩시킨 후 하나의 뷰를 보여주는 방식으로 사용한다.

5. 안드로이드 View

UI를 구성하는데 사용되며, 안드로이드 앱을 실행했을 때 화면에 보이는 모든 요소를 말한다. 버튼, 입력창 등을 뷰라고 할 수 있다. 뷰는 뷰를 포함할 수 있고, 중첩적으로 사용이 가능하다. 뷰는 위젯과 레이아웃으로 구분된다.

  • 위젯 Widget: 뷰 객체로, 화면의 보이는 각 요소들이다.
  • 레이아웃 Layout: 뷰 그룹 객체로, 뷰를 화면에 배치하기 위한 역할을 한다.

뷰 그룹 (ViewGroup)

여러 개의 뷰를 포함하고 있는 것을 뷰 그룹이라 한다. 뷰 그룹은 뷰를 상속받기 때문에 뷰의 특성을 그대로 가질 수 있다.

profile
화이팅

0개의 댓글