logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

안드로이드 애플리케이션 구성요소

by digipine posted Oct 29, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

안드로이드 애플리케이션은 느슨하게 결합된 컴포넌트들로 구성되며, 각 컴포넌트와 이들이

서로 상호작용하는 방법을 기술하는 프로젝트 매니페스트를 통해 결합된다.

그럼, 이에 대한 여섯가지 내용에 대해서 간단히 알아 보도록하자 ^^

 

+ 액티비티 [ Activity ]

   애플리케이션의 "프리젠테이션 계층"이다.
   사용자 애플리케이션에 모든 화면은 액티비티(Activity) 클래스의 확장이 될 것이다.
   즉, 일반 애플리케이션과 비교하면 윈도우 또는 대화상자와 비슷하다고 볼수 있다.
   그러나, 꼭 윈도우나 대화상차처럼   화면 구성요소가 있어야 되는 것은 아니며,
   화면이 없는 "헤드리스(headless)" 프로그램은 컨텐트 프로바이더나 서비스 형태로 사용 가능하다.


+ 컨텐트 프로바이더 [ Content Provider ]

   컨텐트 프로바이더(Content Provider)는 공유할 수 있는 데이터의 저장소이다.
   애플리케이션 데이터베이스를 관리하고 공유하는데 사용되어지며, 그외 기기에 있는
   각종 데이터에 대한 추상적인 인터페이스 제공 및 여러 애플리케이션을 사용할 수 있다.
   컨텐트 프로바이더를 구성하면 데이터에 대한 통제권을 충분히 확보한 상태에서 이와 같이 개발중인
   애플리케이션뿐만 아니라 다른 애플리케이션에서도 접근 가능하도록 기능을 제공 할 수 있다.


+ 인텐트 [ Intents ]

   인텐트(intents)는 간단한 메시지 전달 프레임워크이다.
   특정 이벤트 발생 사실을 시스템 전역이나 원하는 대상 액티비티 또는 서비스에 알릴 수 있으며,
   어떠한 동작을 수행하고자 하는 메시지를 전달 할 수도 있다.
   다시 말하면, 안드로이드 시스템에 특정 해야할 일에 대해서 요청하는 메세지이다.
   이 메시지는 사용자가 애플리케이션을 실행할 때 가장 많이 사용하는 방법 중 하나이며,
   안드로이드 시스템 내부는 각종 인텐트와 인텐트 리시버로 구현되어 있다.


+ 서비스 [ Service ]

   액티비티(Activity), 컨텐트 프로바이더(Content Provider), 인텐트 리시버 등은
  필요한 시간동안만 동작하는 구성요소이며, 언제든지 종료될 가능성이 있다.
   이러한 서비스는 컴퓨넌트 화면에 보이지 않은 채 실행되며, 여러분의 데이터 소스와 화면에
   보이는 액티비티들을 업데이트하고 알림(notifications)을 생성한다.
   즉, 애플리케이션이 가진 액티비티가 활성 상태가 아니거나 화면에 보이지 않더라도 계속 실행되어야
   할 필요가 있는 정규적인 처리를 수행하는데 사용된다.

   즉, 윈도우의 서비스 처럼 백그라운드에서 돌아가는 구성 요소를 서비스 라고 생각하면된다.

   ex. 수신 MAIL 체크 프로그램
         MP3 음악 프로그램 ( 다른 작업중 백그라운드에서 계속 음악 재생 )


+ 브로드캐스트 리시버 [ Broadcast Receivers ]

   인텐트 브로드캐스트의 소비자이다.
   이는, 수신되는 인텐트에 반응해 자동으로 애플리케이션을 시작 시키며,
   이벤트 중심 애플리케이션에 적합하도록 만들 것이다
  
   ex. 하드웨어 상태의 변경 ( SD카드 삽입 )
         외부에서 데이터 수신 ( SMS 문자 메세지 )


+ 알림 [ Notifications ]

   알림(Nontificatons)사용자 알림 프레임워크이며, 이는 사용자의 현재 액티비티가 가진 포커스를
   빼앗거나 방해함 없이 사용자에게 신호할 수 있도록 해준다.
   이는 서비스나 브로드캐스트 수신자에서 사용자의 주의를 끌기 위해 선호되는 기법이다.

   ex.  SMS 메시지 수신 이나 전화가 왔을 경우 진동, 소리, 아이콘 등으로 표시.


이처럼 안드로이드에서는 각 애플리케이션 컴포넌트들 간의 의존성을 분리함으로써, 컨텐트 프로바이더나

서비스 같은 개별 요소를 다른 애플리케이션과 공유하고 주고받을 수 있다.

TAG •

List of Articles
No. Subject Author Date Views
22 안드로이드 개발시 API Key, 암호화 정보 코드에서 숨기는 방법, Kotlin DSL의 경우 lizard2019 2023.06.20 203
21 구글에서 제공하는 안드로이드 개발 기초 학습코스 file digipine 2022.03.18 381
» 안드로이드 애플리케이션 구성요소 digipine 2017.10.29 438
19 Android - AlarmManager를 이용해서 서비스 실행 시키는 코드 digipine 2017.10.29 498
18 Android 기반 Application Ant 빌드 방법 digipine 2017.10.29 541
17 Ubuntu 기본 쉘 dash 대신 bash로 설정 digipine 2017.11.02 705
16 Android - Browser 에서 Activity 실행하기 file digipine 2017.10.29 713
15 [Java] SortedSet과 Comparable을 이용한 정렬(Sort) digipine 2017.10.29 776
14 Ubuntu 16.0.4 openjdk 7 설치방법 lizard2019 2019.12.19 826
13 안드로이드 Activity간 인자 전달하기 digipine 2017.10.29 994
12 안드로이드 시스템 개발시 mmm 커멘드 사용법 digipine 2017.11.01 1169
11 atomic vs volatile vs synchronized file 엉뚱도마뱀 2017.12.18 1186
10 Atomic Operation에 대해서 엉뚱도마뱀 2017.12.18 1227
9 안드로이드 Native C 코드에서 Intent 보내는 방법 digipine 2017.11.02 1298
8 Android - 이미지(비트맵) 리사이징 digipine 2017.11.01 1308
7 Toolchain Error 'No such file or directory' 해결방법 lizard2019 2019.12.19 1371
6 Ubuntu 리눅스 fastboot 설치 lizard2019 2019.12.13 1505
5 Android 하드웨어 코덱 포팅하기, OpenCore, OpenMAX digipine 2017.11.03 1610
4 [안드로이드] 가속도 (Accelerometer)센서 Shake 이벤트 예제 digipine 2017.11.02 1627
3 안드로이드 파일 입출력시 한글 깨짐 문제 digipine 2017.10.29 1645
Board Pagination Prev 1 2 Next
/ 2