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 •