Java Reference
In-Depth Information
•
Location Manager
:ThiscomponentmakesitpossibleforanAndroiddeviceto
be aware of its physical location.
•
Notification Manager
:Thiscomponentletsanappnotifytheuserofasignific-
ant event (e.g., a message's arrival) without interrupting what the user is cur-
rently doing.
•
Package Manager
:Thiscomponentletsanapplearnaboutotherapppackages
thatarecurrentlyinstalled onthedevice.(Apppackagesarediscussedlaterin
this chapter.)
•
Resource Manager
:Thiscomponentletsanappaccessitsapplicationresources,
a topic that I discuss later in this chapter.
•
Telephony Manager
: This component lets an app learn about a device's tele-
phony services. It also handles making and receiving phone calls.
•
View System
: This component manages user interface elements and user
interface-oriented event generation. (I briefly discuss these topics later in this
chapter.)
•
Window Manager
:Thiscomponentorganizesthescreen'srealestateintowin-
dows, allocates drawing surfaces, and performs other window-related jobs.
ThecomponentsoftheapplicationframeworkrelyonasetofC/C++librariestoper-
form their jobs. Developers interact with the following libraries by way of framework
APIs:
•
FreeType
: This library supports bitmap and vector font rendering.
•
libc
:ThislibraryisaBSD-derivedimplementationofthestandardCsystemlib-
rary, tuned for embedded Linux-based devices.
•
LibWebCore
: This library offers a modern and fast web browser engine that
powerstheAndroidbrowserandanembeddablewebview.It'sbasedonWebKit
Google Chrome and Apple Safari browsers.
•
Media Framework
: These libraries, which are based on PacketVideo's
OpenCORE, support the playback and recording of many popular audio and
videoformats,aswellasworkingwithstaticimagefiles.Supportedformatsin-
clude MPEG4, H.264, MP3, AAC, AMR, JPEG, and PNG.
•
OpenGL | ES
:These3DgraphicslibrariesprovideanOpenGLimplementation
based on OpenGL ES 1.0 APIs. They use hardware 3D acceleration (where
available) or the included (and highly optimized) 3D software rasterizer.
•
SGL
: This library provides the underlying 2D graphics engine.