본문 바로가기
프로그래밍/android

안드로이드 컴포넌트

by zerosin13 2020. 3. 29.

안드로이드에서 entry point는 진입점을 지징함. 어플리케이션 코드가 실행할떄 처음으로 코드를 시작하는 부분을 의미함. 모든 프로그램이 진입점을 가지고 있다. 하지만 안드로이드는 단일 진입점을 가지고 있지 않다. main으로 시작만 하지 않는다는 이야기임.

 

안드로이드는 4대 컴포넌트가 있다.

 

'activity' 'service' 'BroadCast' 'Receiver' 'Content Provider' 가 4대 컴포넌트 이다.

컴포넌트 설명
Activity Activity는 화면에 UI를 지시하고 스마트 폰 화면에 대한 사용자 상호 작용을 처리합니다.
Service 응용 프로그램과 관련된 백그라운드 처리를 처리합니다.
BroadCastReceiver Android OS와 애플리케이션 간의 통신을 처리합니다.
ContentProvider 데이터 및 데이터베이스 관리 문제를 처리합니다.

 

그림1. 안드로이드 컴포넌트(출처: https://goo.gl/images/bQm2z1)

 

1).Activity

Activity은 사용자 인터페이스가있는 단일 화면을 나타내며, 짧은 Activity은 화면에서 작업을 수행합니다. 예를 들어 전자 메일 응용 프로그램에는 새 전자 메일 목록을 표시하는 Activity, 전자 메일 작성을위한 다른 Activity 및 전자 메일 읽기를위한 다른 Activity이 있을 수 있습니다. 응용 프로그램에 둘 이상의 Activity가 있는 경우 그 중 하나는 응용 프로그램이 시작될 때 표시되는 Activity으로 표시되어야합니다.

Activity는 다음과 같이 Activity 클래스의 하위 클래스로 구현됩니다.

[Activity 구현]

public class MainActivity extends Activity {

}

2).Services

서비스는 백그라운드에서 실행되어 장기 실행 작업을 수행하는 구성 요소입니다. 예를 들어, 서비스가 사용자가 다른 응용 프로그램에있는 동안 백그라운드에서 음악을 재생하거나 활동과의 사용자 상호 작용을 차단하지 않고 네트워크를 통해 데이터를 가져올 수 있습니다.

서비스는 다음과 같이 Service 클래스의 하위 클래스로 구현됩니다.

[Services 구현]

public class MyService extends Service{

}

 

3).Broadcast Receivers

브로드 캐스트 리시버는 단순히 다른 응용 프로그램이나 시스템의 브로드 캐스트 메시지에 응답합니다. 예를 들어, 응용 프로그램은 브로드 캐스트를 시작하여 다른 응용 프로그램에 일부 데이터가 장치에 다운로드되었고 사용할 수 있음을 알리기 때문에이 통신을 가로 채서 적절한 조치를 취할 브로드 캐스트 수신기입니다.

브로드 캐스트 수신기는 BroadcastReceiver 클래스의 하위 클래스로 구현되며 각 메시지는 Intent 객체로 브로드 캐스터입니다.

[BroadCast Receivers 구현]

public class MyReceiver extends BroadcastReceiver{

   public void onReceive(context, intent){}

}

 

4).Content Providers

Content Providers 구성 요소는 요청시 한 응용 프로그램에서 다른 응용 프로그램으로 데이터를 제공합니다. 이러한 요청은 ContentResolver 클래스의 메소드로 처리됩니다. 데이터는 파일 시스템, 데이터베이스 또는 다른 곳에 저장 될 수 있습니다.

Content Providers는 ContentProvider 클래스의 서브 클래스로 구현되며 다른 애플리케이션이 트랜잭션을 수행 할 수 있도록하는 표준 API 세트를 구현해야합니다.

[Content Providers 구현]

public class MyContentProvider extends ContentProvider{

    public void onCreate(){}

}

 

5).Additional Components

위의 4가지 components외 추가적으로 구성 요소가 있다. 추가 components는 다음과 같음.

컴포넌트 설명
Fragments Activity 에서 사용자 인터페이스의 일부를 나타낸다.
Views 버튼, 목록 양식 등을 포함하여 화면에 그려진 UI 요소를 나타낸다.
Layouts 화면 형식과 보기 모양을 제어하는 계층을 보여준다.
Intents 구성요소를 함께 연결하는 메시지이다. 다른 앱간의 메시지를 전송해준다.
Resources 문자열, 상수 및 그림과 같은 외부 요소를 나타내준다.
Manifest 응용 프로그램의 구성 파일을 나타내준다.

'프로그래밍 > android' 카테고리의 다른 글

ARCore 사용하기_(Sceneform 설치)  (1) 2020.04.05
Android HAXM not install (AMD)  (0) 2020.04.04
ARCore 사용하기  (0) 2020.04.02
ARCore란  (0) 2020.04.01

댓글