day 2 android internals a quick overview

13
Android Application Development Ahsanul Karim http://androidstream.wordpress.com Android Internals: A Quick Overview

Upload: ahsanul-karim

Post on 03-Sep-2014

2.694 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Day 2 android internals a quick overview

Android Application Development

Ahsanul Karimhttp://androidstream.wordpress.com

Android Internals: A Quick Overview

Page 2: Day 2 android internals a quick overview

Android is a software stack for wide range of devices including mobiles, tablets and televisions that includes an

Operating SystemMiddlewareKey Applications.

What is Android?

Google’s Andy Rubin describes Android as:

The first truly open and comprehensive platform for mobile

devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation

An Open Platform for Mobile Development

Page 3: Day 2 android internals a quick overview

The Stack

Page 4: Day 2 android internals a quick overview

The Stack: Linux Kernel

Android runs of LinuxLinux provides:1. Hardware Abstraction

Layer2. Memory Management3. Process Management4. Networking Users never see Linux sub-system (adb shell commands opens Linux shell we’ll see later)

Page 5: Day 2 android internals a quick overview

The Stack: Linux Kernel

Android runs of LinuxLinux provides:1. Hardware Abstraction

Layer2. Memory Management3. Process Management4. Networking Users never see Linux sub-system (adb shell commands opens Linux shell we’ll see later)

Page 6: Day 2 android internals a quick overview

The Stack: Native LibrariesBionic, a super fast and small GPL-based libc library optimized for embedded use. Surface Manager for composing window manager with off-screen buffering. 2D and 3D graphics hardware support or software simulation. Media codecs offer support for major audio/video codecs SQLite database WebKit library for fast HTML rendering

Page 7: Day 2 android internals a quick overview

The Stack: Android RuntimeDalvik VM

Every Android app runs in its own process, with its own instance of the Dalvik VM.

Why Dalvik VM?

1. Optimized2. Small memory footprints3. Register based architecture4. Security5. Or may be Google’s trick to

avoid SUN’s lawsuit

Page 8: Day 2 android internals a quick overview

The Stack: Application FrameworkActivity Manager controls the life cycle of the app Resource Manager manages everything that is not the code Location Manager figures out the location of the phone (GPS, GSM, WiFi) Notification Manager for events such as arriving messages, appointments, etc

Page 9: Day 2 android internals a quick overview

The Stack: Applications

Shipped Apps:an email client, SMS program, calendar, maps, browser, contacts etc.

Third Party Apps

This is where we are

Page 10: Day 2 android internals a quick overview

What is Android SDK

Provides all necessary tools to develop Android applications. This includes 1. a compiler, 2. debugger 3. a device emulator, 4. Own virtual machine to run Android programs.

background processing rich user interface library OpenGL libraries access to the file system

embedded SQLite database

Page 11: Day 2 android internals a quick overview

Android SDK Features

Features/APIs

Connectivity+Telephony GSM, EDGE, 3G, 4G, and LTE data transfer+calls+SMS

Location API APIs for GPS and Network based location detection

MAP Controls Full support for map integration+controls

Multimedia Full Multimedia hardware control (camera+recorder+audio+video+still images)

Sensors APIs for using sensor hardware including accelerometer, compasses, barometers etc.

Bluetooth & NFC Peer to peer communication

C2DM Cloud to Device Messaging (Push Notification)

Page 12: Day 2 android internals a quick overview

Android SDK Features

Features/APIs

Shared Data Stores Shared Data Stores, APIs for contacts, social networks, calendar and multimedia

Background Services Background Services and processes

Home Screen Widgets+ Live Wallpaper

HTML5 Web-kit browser

Localization Framework

Reuse of Application component

SQLite Data storage

Page 13: Day 2 android internals a quick overview

Android Features (Cont.)

Light Sensor

Thermal Sensor

Gyroscope

Accelerometer

Magnetic Sensor

GPS

Your AppWith logic to

Actuate+ =

TTSVoice Search