------

[ AD ] Port Monitor ( Try to use a Best WebSite Monitoring Tool )

------

번역 : jameroid.tistory.com
분류 : Android Basics
출처 : http://developer.android.com/guide/basics/what-is-android.html


라이브러리들

안드로이드는 안드로이드 시스템의 다양한 컴포넌트에 사용되는 c/c++라이브러리 세트를 포함한다.
이런 능력은 안드로이드 어플리케이션 프레임웍(AAF)을 통해 개발자에게 노출되다.
핵심 라이브러리 몇개는 아래에 리스트 되었다
- System C library
  : 표준 C 시스템 라이브러리(libc)의 BSD에서 유래한 구현물, 리눅스 기초의 임베디드 장비에 맞춰진
- Media Libraries
  : PacketVideo의 OpenCORE 기초위에; 라이브러리는 ,MPEG4/H.264/MP3/AAC/AMR/JPG/PNG,
    정지 이미지들과 마찬가지로 많은 대중적인 오디오와  비디오 포맷의 재생과 녹음을  지원한다
- Surface Manager
  : 화면 하부 시스템의 접근과  다수의 어플리케이션에서 2D와 3D그래픽 층을 한결같이 구성하는 것을 관리한다.
- LibWebCore
  : 안드로이드 브라우저와 내장웹뷰등의 현대적인 웹 브라우저 엔진
- SGL
  : 2D 그래픽 엔지의 기초
- 3D Libraries
  : OpenGL ES 1.0 APIS위에 기초하는 구현물; 라이브러리는 하드웨어 3D가속(가용한곳에) 또는 높게 최적화된 3D
  소프트웨어 래스터를 포함하여 사용한다.
- Free Type
  : 비트맵과 벡터 폰트 표현 방식
- SQLite
  : 강력하고 가벼운 RDB 엔진이 모든 어플리케이션에게 가용하다.



Libraries

Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

  • System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics engine
  • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational database engine available to all applications


안드로이드는
     OS(운영체제)와 미들웨어 그리고 핵심(기본) 어플리케이션 를 포함한
     모바일 디바이스를 위한 소프트웨어 스택이다. ( 주)Stack : 차곡차곡 쌓이다 ).

안드로이드 SDK는
     Java 프로그래밍 언어를 사용해서 안드로이드 플랫폼위에
     어플리케이션 개발 시작에 필요한  도구와 API들을 제공한다. 

What is Android?

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

특징들
- 어플리케이션 프레임웍 :  컴포턴트의 교체와 재새용을 가능하게 한다.
- 달빅 가상 머신 : 모바일 디바이스을 위해 최적화 되었다.
- 내장된 브라우저 : 공개소스 WebKit 엔진을 기초로 한다.
- 최적화된 그래픽 : 맞춤 2D 그래픽 라이브, OpenGL ES1.0 규격을 기초한 3D그래픽으로 로 강해졌다.
- SQLite : 구조적 데이타 저장을 위해
- 미디어 지원 : 오디오, 비디오 그리고 정지 이미지 포맷  (MPEG4, H.264, MP3, AAC, JPG, PNG, GIF)
- (하드웨어 의존) GSM 기술
- (하드웨어 의존) 블루투스, EDGE, 3G 와 WiFI
- (하드웨어 의존) 카메라, GPS, 나침반(compass) 그리고 가속도계(accelerometer)
- 풍부한 개발 환경 : 디바이스 에뮬레이터(장비모방),디버그 툴, 메모리와 성능 분석(performance profiling)
                          그리고 이클립스 IDE를 위한 플러그인 을 포함한다.


Features

  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
안드로이드 아키텍쳐
  : 아래 그림도료는 안드로이드 운영시스텝ㅁ의 주요 구성품(컴포턴트)을 보여준다



Applications  --- 사용자가 접하는 화면들....

안드로이드는 이메일 클라이언트와 SMS프로그램, 달력, 지도, 웹브라우저, 연락처 그리고 기타등등을 포함하는
핵심 어플리케이션을 한 셋트로 구성되어 있다.
모든 어플리케이션은 자바 프로그래밍 언어를 사용해서 쓰여졌다(만들어 졌다).

Applications

Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.



어플리케이션 프레임웍

개방형 개발 플랫폼을 제공함으로써, 안드로이드는 개발자들에게 최고로 풍부하고 혁신적인 어플리케이션을
만들수 있는 능력을 제공한다

개발자들은 디바이스 하드웨어의 잇점을 갖거나 위치 정보에 접근하거나 백그라운드 서비스를 수행, 알람 설정
그리고 상태바에 알림을 추가하고 그리고 더 많은 것들이 모두 무료이다.

개발자들은 핵심 어플리케이션이 사용하는 동일한 프레임웍 API를 모두 접근한다.
어플리케이션 구조는 컴포넌트의 간편한 재사용을 위해 디자인 되었다. 
아무  어플리케이션(프레임웍에 의해 강제되지 )이나 그것의 능력을 공개할 수 있고, 이런 능력을
다른 어플리케이션에서도 활용할 수 있다.
동일한 매커니즘은 유저에 의해서 컴포넌트가 대체되는 것도 허용된다.

모든 서비스 구성 일체와 시스템의 어플리케이션은 밑에 있으며, 포함한다 :
- 풍부하고 확장할 수 있는 뷰는 리스트,그리드, 텍스트박스, 버튼 그리고 내장되는 웹 브라우저들은
어플리케이션 개발에 활용될수 있다.
- Content Providers는 자신의 데이타를 공유하거나 ,어플리케이션이 다른 어플리케이션으로 부터 데이타를 접근할 수 있다.(주소록 같은)
- Resource Manager코드가 아닌 리소스, 일테면 현지 언어들, 그림들, 배치 파일들을 접근하는 것을 제공한다. 
- Notification Manager모픈 어플이케이션이 상태바 안에 맞춤 경고를 보여줄 수 있다.
- Activity Manager는 어플리케이션의 생명주기를 관리하고 맞춤 네비게이션 백스택을 제공한다.

더 자세한 것들과 어플리케이션을 구경하면서 지나가려면, 노트패드 설명서를 보라.

Application Framework

By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.

Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.

Underlying all applications is a set of services and systems, including:

  • A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
  • Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
  • A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
  • A Notification Manager that enables all applications to display custom alerts in the status bar
  • An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack

For more details and a walkthrough of an application, see the Notepad Tutorial.


 

+ Recent posts