<안드로이드 아키텍처>
안드로이드는 소프트웨어 스택 아키텍처의 형태로 구현되었다.
(리눅스 커널, 런타임 환경과 그에 부합 되는 라이브러리, 애플리케이션 프레임 워크 ,애플리케이션 등이 스택을 구성)
[애플리케이션]
소프트웨어 스택의 맨위에 있는 것
[애플리케이션 프레임 워크]
:안드로이드 애플리케이션이 실행되고 관리되는 환경을 형성하는 서비스들이 모인 것
*프레임워크의 핵심 서비스
1.액티비티 매니저: 애플리케이션의 생명주기와 액티비티 스택을 제어한다.
2.콘텐츠제공자- 애플리케이션이 다른 애프리케이션과 데이터를 게시 및 공유할수 있게해준다.
3. 리소스 매니저-코드에 포함되지않는 리소스(문자열 ,색상 설정, 사용자 인터페이스 레이아웃 등)의 엑세스를 제공
4.통지매니저 –애플리케이션이 사용자에게 경고나 통지를 보여 줄수 있게 해준다.
5.뷰 시스템- 애플리케이션의 사용자 인터페이스 생성에 사용되는 확장 가능한 뷰들의 집합.
6.패키지 매니저-애플리케이션에 장치에 설치된 다른 애플리케이션에 관한 정보를 알 수 있는 시스템
7.텔레포니 매니저- 장치에서 사용가능한 전화서비스에 관한 정보(상태나 가입자등 )를 애플리케이션에 제공한다.
8.위치매니저- 앱이 위치 변경 정보를 수신할수 있게 해주는 위치 서비스의 액세스를 제공한다.
[Activity]
:재사용가능한 컴포넌트의 개념을 더 높은 수준으로 끌어올린 것.
:애플리케이션의 기능을 갖는 단일의 독립 실행형 모듈
*특징
1.Activity 클래스의 서브클래스로 생성되야한다.
2.다른 액티비티와 완전히 독립적으로 구현되어야 한다.
3.액티비티가 다른 액티비티 메서드 직접 호출 불가능, 데이터 직접 액세스도 불가능
->인텐트와 콘텐트 제공자를 사용해서 액티비티를 공유해야한다 !
[애플리케이션 매니페스트]
: 앱을 구성하는 다양한 요소들을 합치는 접착제의 역할
xml파일,액티비티,서비스, 브로드캐스트 수신자, 데이터 제공자, 퍼미션등이 정의 되어있고, 이정보들은 안드로이드 런타임에서 참조되고 사용된다.
출처:핵심만 골라 배우는 안드로이드 스튜디오
'안드로이드' 카테고리의 다른 글
[안드로이드]리스트뷰에 추가하기 (0) | 2017.12.22 |
---|---|
[안드로이드] RecyclerView의 item 클릭하기 (0) | 2017.12.21 |
[안드로이드]리사이클뷰 (0) | 2017.12.21 |
[안드로이드]액티비티 상태를 저장하고 복원하기 (0) | 2017.12.14 |
[안드로이드] 인텐트와 생명주기 (0) | 2017.12.14 |