2-2 안드로이드 앱 개발의 특징

StrayCat·2022년 9월 29일
0

컴포넌트(Component)

컴포넌트는 애플리케이션의 구성요소로 여러개의 컴포넌트가 모여 하나의 애플리케이션을 이룬다.

안드로이드에서는 클래스로 컴포넌트를 개발하며, 하나의 클래스가 하나의 컴포넌트가 된다.

안드로이드 클래스 종류

  • 일반 클래스

    개발자 코드에서 생명주기를 관리

  • 컴포넌트 클래스

    안드로이드 시스템에서 생명주기를 관리


컴포넌트 종류

1. 액티비티 ( Activity )

화면을 구성하는 컴포넌트로, 앱 실행 시 출력한 내용이 폰 화면에 나온다.

2. 서비스 ( Service )

백그라운드 작업용 컴포넌트이다.

3. 컨텐츠 프로바이더 ( ContentProvider )

앱의 데이터를 주고받는 컴포넌트로, 앱 간의 데이터 공유를 담당한다.

4. 브로드캐스트 리시버 ( BroadcastReceiver )

부팅 완료, 배터리 방전 등의 시스템 이벤트가 발생할 때 실행되는 컴포넌트이다.


컴포넌트 구성

앱은 여러개의 컴포넌트를 사용하여 구성된다.
예를 들어, 앱이 실행되었을때 화면이 나오지 않고 백그라운드에서만 실행되는 앱의 경우 Activity 컴포넌트가 없이 구성되어있다.

각 컴포넌트는 독립된 실행 단위로, 서로 영향을 주고받지 않는다.
채팅방을 예로 들면, 목록을 보여주는 ListActivity와 채팅방을 보여주는 ChatActivity가 있다고 하자. 이 경우, 채팅방을 선택할때 ListActivity에서 ChatActivity를 생성하는 것이 아니라, 시스템으로 Intent를 보내서 Activity를 실행한다.

이러한 특징을 잘 보여주는 것으로, 알림창에서 채팅알림을 클릭할 경우 ListActivity를 거치지 않고 ChatActivity가 바로 실행되어 채팅방으로 들어갈 수 있다.

위의 예시처럼 안드로이드앱은 메인 함수 개념이 없고 실행시점이 다양하다.

애플리케이션 라이브러리(다른 애플리케이션을 라이브러리처럼 사용)를 사용할 수 있다.


리소스

또다른 특징으로 리소스를 많이 활용하게 한다.

리소스란, 코드에서 정적인 값을 분리한 것이다.

xml파일에 아래와 같이 저장해두면 R.string 을 통해서 쉽게 접근할 수 있다.

(xml)

<string name = "mytxt">
   something
</string>

(kotlin)

textView.text = resources.getString(R.string.mytxt)

0개의 댓글