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.
→ It’s not just the software, the but it’s the ecosystem of people working to support
and advance the software. One of those advancements includes the move from
Dalvik to the Android Runtime Environment.
What are your main takeaways from this video?
Layered system: Complete software stack (Linux Kernel, System libraries,
application framework, other applications)
Open platform: What enables you to make everything
Android Architecture
Easy for hardware manufacturers to adopt – improves innovation on hardware
→ Use a layered architecture: each layer exposing an API to the next, but also
shielding the next layer from the implementation specifics required for that layer. This
Key AOSP Features allows an android app built and tested on one phone to effectively work on most
- Layered Architecture other phones.
- Apache License (BSD style)
- Open platform, easy to adopt.
- Tied to the Google ecosystem (...or not?!)
- Developers can branch code for customisation (ie, Amazon Fire, Google TV,
Huawei)
- Not just the code – also the people, and the principles for working together
Android 1 Android 2
, Android Runtime Environment
ARE: Ahead of Time (AoT) Compilation
Apps compiled at install or boot
Faster to run
IndependentVMs
Takes more space
App Framework:
DMV: Just in Time (JIT) Compilation
◦ Activity Manager: life cycle of applications Faster to boot
◦ Content providers: shared data between apps – eg. Contacts
Lower space requirements
◦ Resource Manager: images, files, R class names all your resources
◦ Location Manager: gps and wifi – where is your phone?
◦ Notification Manager: events and notifications – in a uniform and unobtrusive
manner
For the developer
Browser: Integrated, based on the open source WebKit engine
Graphics: Powered by custom 2D graphics library, with 3D graphics based on
the OpenGL ES 1.0 spec
Data Storage: SQLite for structured data
Media: Support for common audio, video, and still image formats (Mpeg-4,
H.264, mp3, aac, amr, jpg,png, gif)
Radio: multiple frequencies, and GSM or CDMA
Wireless: bluetooth, EDGE, 3G, 4G, 5G, and WiFi
Sensors and Devices: camera, gps, compass, accelerometer
SDK: Rich development environment, including a device emulator (Android
Studio), debugging tools, memory and performance profiling.
Android 3 Android 4
→ 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.
→ It’s not just the software, the but it’s the ecosystem of people working to support
and advance the software. One of those advancements includes the move from
Dalvik to the Android Runtime Environment.
What are your main takeaways from this video?
Layered system: Complete software stack (Linux Kernel, System libraries,
application framework, other applications)
Open platform: What enables you to make everything
Android Architecture
Easy for hardware manufacturers to adopt – improves innovation on hardware
→ Use a layered architecture: each layer exposing an API to the next, but also
shielding the next layer from the implementation specifics required for that layer. This
Key AOSP Features allows an android app built and tested on one phone to effectively work on most
- Layered Architecture other phones.
- Apache License (BSD style)
- Open platform, easy to adopt.
- Tied to the Google ecosystem (...or not?!)
- Developers can branch code for customisation (ie, Amazon Fire, Google TV,
Huawei)
- Not just the code – also the people, and the principles for working together
Android 1 Android 2
, Android Runtime Environment
ARE: Ahead of Time (AoT) Compilation
Apps compiled at install or boot
Faster to run
IndependentVMs
Takes more space
App Framework:
DMV: Just in Time (JIT) Compilation
◦ Activity Manager: life cycle of applications Faster to boot
◦ Content providers: shared data between apps – eg. Contacts
Lower space requirements
◦ Resource Manager: images, files, R class names all your resources
◦ Location Manager: gps and wifi – where is your phone?
◦ Notification Manager: events and notifications – in a uniform and unobtrusive
manner
For the developer
Browser: Integrated, based on the open source WebKit engine
Graphics: Powered by custom 2D graphics library, with 3D graphics based on
the OpenGL ES 1.0 spec
Data Storage: SQLite for structured data
Media: Support for common audio, video, and still image formats (Mpeg-4,
H.264, mp3, aac, amr, jpg,png, gif)
Radio: multiple frequencies, and GSM or CDMA
Wireless: bluetooth, EDGE, 3G, 4G, 5G, and WiFi
Sensors and Devices: camera, gps, compass, accelerometer
SDK: Rich development environment, including a device emulator (Android
Studio), debugging tools, memory and performance profiling.
Android 3 Android 4