반응형
안드로이드 2.2 프로요 기능 추가사항
JIT compiler
Better RAM management
OpenGL ES 2.0 enhancements
Flash 10.1 support
Fixed problem with "crazy screen"/Resolution of cross multitouch
Activation of Colort Tracball
Enable FM radio
Gallery with 24-bit support for images
USB tethering, WiFi hotspot
<application framework>
application을 만드는 데 사용될 수 있는 풍부하고 확장가능한 뷰 집합, 이것은 리스트, 그리드, 텍스트 박스, 버튼, 임베딩 가능한 웹 브라우저까지도 포함하고 있다.
application이 다른 application의 데이터에 접근하는 것을 가능하게 하거나, 또는 자신의 데이터를 공유하는 것을 가능하게 하는 컨텐트 프로바이더.
리소스 매니저 : 로컬라이즈된 문자열, 그래픽, 레이아웃 파일 같은 비 코드 리소스에 대한 접근을 제공하는 리소스 매니저.
모든 애플리케이션이 상태 바에 커스텀 알림 메시지를 표시하는 것을 가능하게 하는 노티피케이션 매니저
애플리케이션의 생명주기를 관리하며, 사용자의 일반적인 애플리케이션 네비게이션 히스토리를 관리하는 액티비티 매니저.
<android runtime>
모든 안드로이드 애플리케이션은 달빅 가상 머신에 대한 자기 자신의 인스턴스를 가지고, 자신의 프로세스 내에서 실행된다. 달빅은 하나의 디바이스에서 다양한 가상머신이 효율적으로 실행될 수 있도록 만드러옂ㅆ다. 달빅 가상머신은 최소 메모리를 사용하도록 최적화된 달빅 실행 포맷(.dex)의 포맷의 파일을 실행한다. 이 가상머신은 레지스터 기반이며, Java언어 컴파일러에 의해 컴파일된 후, SDK에 포함되어 잇는 "dx"라는 툴을 통해 .dex포맷으로 변환된 클래스를 실행한다.
달빅 가상머신은 쓰레딩과 저 수준 메모리 관리와 같이 그것의 기반이 되는 기능에 대해서는 리눅스 커널에 의존한다.
<application 기초>
디폴트로 모든 애플리케이션은 자신의 리눅스 프로세스 내에서 실행된다. 안드로이드는 임의의 애플리케이션 코드가 실행될 필요가 있을 때 그 프로세스를 시작시키며, 그것이 더 이상 필요치 않고 다른 애플리케이션이 시스템 자원을 요구할 때 그 프로세스를 종료시키낟.
각각의 프로세스는 자기 자신의 Java 가상머신을 가진다. 그러므로 애플리케이션 코드는 다른 모든 애플리케이션 코드와는 격리되어 실행된다.
디폴트로 각각의 애플리케이션에는 고유한 리눅스 유저ID가 부여된다. 애플리케이션을 구성하는 파일들은 해당 사용자와 해당 애플리케이션 그 자신에게만 보여지도록 퍼미션이 설정된다.
<application component>
액티비티
사용자가 착수할 수 있는 하나의 포커스된 시도에 대한 비주얼 사용자 인터페이스를 나타낸다.
서비스
정해지지 않은 시간동안 백그라운드에서 실행된다. Service베이스 클래스를 extend한다.
인텐트
컨텐트 프로바이더는 컨텐트 리졸버 요청의 대상이 될 때 활성화 된다. 액티비티, 서비스, 브로드캐스트 리시버는 인텐트라 불리는 비동기적인 메시지에 의해 활성화된다. 인텐트는 컨텐트 메시지를 보유하고 있는 인텐트 오브젝트다. 인텐트는 액티비티와 서비스에 대해서, 그것에게 요청되는 액션을 가리키고 그 액션이 처리해야 하는 데이타의 URI를 나머지 다른 것들과 함께 명시한다. 인텐트 오브젝트는 브로드캐스트 리시버에 대해서는, 공지되는 액션을 가리킨다.
액티비티는 인텐트 오브젝트를 Context.startActivity() 또는 Activity.startActivityForResult()에 파라미터로 전달함으로써 런치된다. 이것에 응답하는 액티비티는 getIntent()메쏘드를 호출함으로써, 그것을 런치하도록 한 초기 인텐트를 볼 수 있다.
하나의 액티비티는 흔히 그 다음번 액티비티를 시작시킨다. 만약 그것이 자신이 시작시킨 액티비티로부터 결과를 리턴받고자 한다면, 그것은 startActivity() 대신에 startActivityForResult()를 호출해야 한다. 예를 들어 어떤 액티비티가 사용자에게 사진을 선택하게 하는 액티비티를 시작시킨다면, 그 액티비티는 사용자가 선택한 사진을 리턴받기를 원할 수 있다. 그 결과는, 액티비티의 onActivityResult()메쏘드가 호출되는 곳에 전달되는 인텐트 오브젝트 내에서 리턴한다.
'Fundamental Notes > Android' 카테고리의 다른 글
반복적인 작업이 싫은 안드로이드 개발자에게 (1) | 2012.08.30 |
---|---|
Android network debugging (0) | 2010.08.13 |
Android : 이진 데이터를 위한 데이터 저장 (0) | 2010.05.24 |
Android : 이클립스 설치 오류(JVM terminated. Exit code=-1) (0) | 2010.04.30 |
Android : 가속도 센서를 이용하기 위해 사용할 물리 기본 공식들. (0) | 2010.04.05 |