안드로이드 어플리케이션의 컴포넌트(구성요소)
액티비티(Activity) : 어플리케이션의 기본 실행단위, 사용자와의 상호작용을 담당.
사용자와 상호작용할 화면을 정의, 기능을 구현. 따라서 화면마다 Activity를 정의하는 것이 일반적이다.
서비스(Service) : 액티비티와 달리 화면에 표시되지 않고 백그라운드에서 작업을 수행.
화면에 표시하지 않고 지속적인 작업을 수행해야 할 때 사용.
컨텐트 프로바이더(Content Provider) : 어플리케이션 내의 데이터를 다른 어플리케이션과 공유.
다른 어플리케이션이 특정 어플리케이션의 데이터 접근을 허용.
어플리케이션들 간에 데이터를 공유하는 유일한 방법.
브로드캐스트 리시버(Broadcast Receiver) : 발송된 특정 메시지에 대해 응답.
시스템 상태에 대한 알림, 특정 어플리케이션에 대한 알림.
각 컴포넌트(구성요소) 간의 이동은 인텐트(Intent)가 담당.
인텐트(Intent) : 특정 컴포넌트를 호출하기 위해 전달해야하는 비동기식 메시지.
Activity, Service, Broadcast Receiver는 Intent로 호출해 활성화.
Content Provider는 ContentResolver 객체로 호출해 활성화.
메시지에 호출 대상이 명시되어 있다면 명시적 Intent.
- startActivity(new Intent(nowActivity.this, toActivity.class));
// 현재 Activity의 컨텍스트 객체, 시작할 Activity의 클래스명
// startActivity, startService, sendBroadcast
메시지에 처리했으면 하는 작업, 데이터가 있다면 암시적 Intent.
- Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:01012345678"));
startActivity(intent);
// 처리할 작업, 처리할 데이터
// 작업과 관련된 안드로이드 플랫폼에 등록된 기본 어플리케이션 동작.
// Manifest에 등록된 intent-filter가 있다면 기본 어플리케이션 대신 해당 Activity가 실행됨
'uncensored' 카테고리의 다른 글
| 오픈소스 라이선스 (0) | 2017.02.25 |
|---|---|
| 개발자 취준생에게 팁 (0) | 2017.02.25 |
| 웹 개발자 직군 정리 (0) | 2017.02.25 |
| syntaxhighlighter 테스트 (0) | 2017.01.06 |
| [Java]개발환경 구성 (0) | 2017.01.02 |
