본문 바로가기

안드로이드

[안드로이드] 아키텍처

반응형





                                                                               <안드로이드 아키텍처>


안드로이드는 소프트웨어 스택 아키텍처의 형태로 구현되었다.

(리눅스 커널런타임 환경과 그에 부합 되는 라이브러리애플리케이션 프레임 워크 ,애플리케이션 등이 스택을 구성)



[애플리케이션]

 소프트웨어 스택의 맨위에 있는 것



[애플리케이션 프레임 워크]

:안드로이드 애플리케이션이 실행되고 관리되는 환경을 형성하는 서비스들이 모인 것


*프레임워크의 핵심 서비스


1.액티비티 매니저: 애플리케이션의 생명주기와 액티비티 스택을 제어한다.

2.콘텐츠제공자- 애플리케이션이 다른 애프리케이션과 데이터를 게시 및 공유할수 있게해준다.

3. 리소스 매니저-코드에 포함되지않는 리소스(문자열 ,색상 설정, 사용자 인터페이스 레이아웃 등)의 엑세스를 제공

4.통지매니저 애플리케이션이 사용자에게 경고나 통지를 보여 줄수 있게 해준다.

5.뷰 시스템- 애플리케이션의 사용자 인터페이스 생성에 사용되는 확장 가능한 뷰들의 집합.

6.패키지 매니저-애플리케이션에 장치에 설치된 다른 애플리케이션에 관한 정보를 알 수 있는 시스템

7.텔레포니 매니저- 장치에서 사용가능한 전화서비스에 관한 정보(상태나 가입자등 )를 애플리케이션에 제공한다.

8.위치매니저- 앱이 위치 변경 정보를 수신할수 있게 해주는 위치 서비스의 액세스를 제공한다.

 

[Activity]

:재사용가능한 컴포넌트의 개념을 더 높은 수준으로 끌어올린 것.

:애플리케이션의 기능을 갖는 단일의 독립 실행형 모듈


*특징 

1.Activity 클래스의 서브클래스로 생성되야한다.

2.다른 액티비티와 완전히 독립적으로 구현되어야 한다.

3.액티비티가 다른 액티비티 메서드 직접 호출 불가능, 데이터 직접 액세스도 불가능

   ->인텐트와 콘텐트 제공자를 사용해서 액티비티를 공유해야한다 !

 

[애플리케이션 매니페스트]

: 앱을 구성하는 다양한 요소들을 합치는 접착제의 역할

xml파일,액티비티,서비스, 브로드캐스트 수신자, 데이터 제공자, 퍼미션등이 정의 되어있고, 이정보들은 안드로이드 런타임에서 참조되고 사용된다.

 



출처:핵심만 골라 배우는 안드로이드 스튜디오



반응형