Professional Documents
Culture Documents
Google Android
Google Android
Einopekka Laurikainen
Joonas Laurikainen
!! The Android platform is a software stack for
mobile devices including an operating
system, middleware and key applications.
!! Developers can create applications for the
platform using the Android SDK.
!! Applications are written using the Java
programming language and run on Dalvik, a custom
virtual machine designed for embedded use, which
runs on top of a Linux kernel.
!! 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
Home, Browser,
Contacts...
Window manager,
Package manager...
Webkit, SQLite,
OpenGL | ES, SSL,
libc...
Drivers: WiFi,
Camera, Display...
The default behavior of an Android application is to
operate within its own container on objects it owns.
!! Resource Managers
!! Notification Managers
!! Activity Managers
Libraries
Core libraries
Libc •!C system library
Every application has its own instance of the Dalvik virtual machine
!! Relies
on the Linux kernel for underlying
functionality
!! Threading
!! Low-level memory management.
•!Provides support for hardware devices that may not be present on every
Android.hardware Android device.
•!Monitoring the basic phone information, such as the network type and
Android.telephony connection state, utilities for manipulating phone number strings.
•!GPS
Android.location •!Cellular positioning
•!Music & video codecs
Android.Media •!Stream receiving over IP
•!Uses hardware if avaivable
Android.opengl •!Software if no hardware support
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;