android : its development

18
Introducing ANDROID

Upload: sourabh-maharana

Post on 21-May-2017

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Android :  Its Development

Introducing ANDROID

Page 2: Android :  Its Development
Page 3: Android :  Its Development

Introduction

• Android is a complete set of software for mobile devices: an operating system, middleware, and key mobile applications

• Other embedded devices, such as tablets, netbooks, televisions, set-top boxes, and even automobiles, have also adopted the Android OS.

• The initial Android operating system was created by a small start-up company in Silicon Valley known as Android Inc., which was purchased by Google in July 2005.

Page 4: Android :  Its Development

The Evolution of Android• Google, seeing a large growth of Internet use and search in mobile

devices, acquired Android, Inc., in 2005 to focus its development on a mobile device platform.

• Apple introduced the iPhone in 2007 with some ground-breaking ideas including multi-touch and an open market for applications.

• Android was quickly adapted to include these features and to offer definite distinctions, such as more control for developers and multitasking.

• In addition, Android incorporates enterprise requirements, such as exchange support, remote wipe, and Virtual Private Network (VPN) support, to go after the enterprise market that Research In Motion has developed and held so well with its Blackberry models.

• Android has been constructed to ensure as uniform an experience across platforms as possible. By abstracting the hardware differences, Android OS tries to insulate applications from device-specific modifications while providing the flexibility to tune aspects as needed.

• Google provides assistance to third-party developers in many forms as Android Development Tool (ADT) plugins for Eclipse (also as standalone tools) including real-time logging capabilities, a realistic emulator that runs native ARM code, and in-field error reports from users to developers of Android Market applications.

Page 5: Android :  Its Development

What Android is, but What it is not• Android is an embedded OS that relies on the Linux kernel

for core system services, but it is not embedded Linux.• Writing applications for Android utilizes the Java

framework, but it is not Java. Standard Java libraries such as Swing are not supported. Other libraries such as Timer are not preferred; they have been replaced by Android’s own libraries, which are optimized for usage in a resource-constrained, embedded environment.

• The Android OS is open source, which means developers can view and use any of the system source code, including the radio stack. This means developers can utilize the system in the same way as any core application and can swap out system components for their own components.

• However, Android devices do contain some proprietary software that is inaccessible to developers (such as Global Positioning System (GPS) navigation).

Page 6: Android :  Its Development

Devices Running Android (Assembly of Android)• There are more than 40 Android phones in the market from

more than ten manufacturers. Other hardware also runs Android, such as tablets and televisions.

• Android-supported hardware shares some common features due to the nature of the operating system.The Android OS is organized into the following images:Bootloa

der• Initiat

es loading of the boot image during start-up.

Boot image• Kernel

and RAM-disk

System image• Androi

d operating system platform and apps

Data image• User

data saved across power cycles

Recovery image• Files

used for rebuilding or updating the system

Radio image• Files of

the radio stack

• These images are stored on non-volatile flash memory, so they are protected when the device powers down. The flash memory is used like read-only memory (hence, some call it ROM), but can it be rewritten as necessary (for example, with over-the-air Android operating system updates).

• On start-up, the microprocessor executes the boot-loader to load the kernel and RAMdisk to RAM for quick access. The microprocessor then executes instructions and pages portions of the system and data images into RAM as needed. The radio image resides on the baseband processor, which connects to the radio hardware.

Page 7: Android :  Its Development

The processing hardware architecture in Android Devices (Similar Across Devices)• A microprocessor unit (MPU)• Synchronous Dynamic Random Access Memory

(SDRAM or RAM for short)• Flash Memory (called ROM for short)• The screen size is given in pixels, but the dots per

inch (dpi) vary depending on the physical screen size.• All smartphones also offer a CMOS image sensor

camera, Bluetooth (BT), and Wi-Fi (802.11), although there are variations.

• In addition to the built-in hardware, every Android device comes with a secure digital (SD) card slot [However, until Android 2.2, the apps themselves could be stored only on the internal ROM.]

Page 8: Android :  Its Development

Device Screens Supported by AndroidScreenType

Low-Density(~120ppi), ldpi

Medium-Density(~160ppi), mdpi

High-Density(~240ppi), hdpi

Smallscreen

QVGA (240x320), 2.6-inchto 3.0-inch diagonal

Normalscreen

WQVGA (240x400),3.2-inch to 3.5-inchdiagonal

FWQVGA (240x432), 3.5-inch to 3.8-inch diagonal

HVGA (320x480), 3.0-inch to 3.5-inchdiagonal

WVGA (480x800),3.3-inch to 4.0-inchdiagonal

FWVGA (480x854),3.5-inch to 4.0-inchdiagonal

Largescreen

WVGA (480x800),4.8-inch to 5.5-inchdiagonal

FWVGA (480x854),5.0-inch to 5.8-inchdiagonal

Page 9: Android :  Its Development

User Input Methods• There are three types of touchscreen technology:

Resistive

• Two resistive material layers sit on top of a glass screen. When a finger, stylus, or any object applies pressure, the two layers touch together and the location of the touch can be determined.

• Resistive touchscreens are cost-effective, but only 75% of the light shows through, and until recently, multi-touch was not possible.

Capacitive

• A charged material layer is overlaid on a glass screen. When a finger or any conductive object touches the layer, some charge is drawn off, changing the capacitance, which is measured to determine the location of the touch.

• Capacitive touchscreens allow as much as 90% of the light through, although accuracy can be less than resistive.

Surface Acoustic Wave

• This uses a more advanced method that sends and receives ultrasonic waves. When a finger or any object touches the screen, the waves are absorbed. The waves are measured to determine the location of the touch.

• It is the most durable solution, but more suitable for large-scale screens such as automatic bank tellers.

Page 10: Android :  Its Development

User Input Methods in Android• All Android devices use either resistive or capacitive

touchscreen technology, and with a few early exceptions, all support multi-touch.

• In addition, each Android device may have an alternative method to access the screen.

• This is through one of the following methods:

D-pad (directional pad) •An up-down-right-left type of joystick

Trackball •A rolling ball acting as a pointing device that is similar to a mouse

Trackpad •A special rectangular surface acting as a pointing device

Page 11: Android :  Its Development

Sensors• The first additional sensor introduced on phones

was the camera.• Most smartphones have at least three basic

sensors:

A three-axis accelerometer to measure gravityA three-axis magnetometer to measure the ambient magnetic field

A temperature sensor to measure the ambient temperature

Page 12: Android :  Its Development

Key Features of AndroidMulti-process and App Widgets •The Android OS does not restrict the processor to a single application at a time. The system manages priorities of applications and threads within a single application. This has the benefit that background tasks can be run while a

user engages the device in a foreground process.•App Widgets are mini applications that can be embedded in other applications (such as the Home screen).They can process events, such as start a music stream or update the outside temperature, while other applications are running.

Touch, Gestures, and Multi-touch •After a finger touches the screen, drags and flings are natural ways to interact with graphics. Multi-touch provides a way to track more than one finger down at the same time. This is often used to zoom or rotate a view.•Some touch events are available transparently to the developer without the need to implement their detailed behaviours. Custom gestures can be defined as needed.

Hard and Soft Keyboards •The tactile feedback and definite placement of keys provided by a hard keyboard tends to make typing much faster for some, whereas others prefer the sleek design and convenience offered by a software-only input device.

Page 13: Android :  Its Development

Android VersionsAndroid 1.0 (API level 1)

Released on 23 September 2008

Android 1.1 Petit Four (API level 2)Released on 9 February 2009

Android 1.5 Cupcake (API level 3)Released on 30 April 2009

Android 1.6 Donut (API level 4)Released on 15 September 2009

Android 2.0 Eclair (API level 5)Released on 26 October 2009Android 2.0.1 Eclair (API level 6)Released on 3 December 2009

Android 2.1 Eclair (API level 7)Released on 12 January 2010

Android 2.2–2.2.3 Froyo (API level 8)Released on 20 May 2010

Android 2.3–2.3.2 Gingerbread (API level 9)

Released on 6 December 2010

Android 1.0 (API level 1)Released on 23 September 2008

Android 1.1 Petit Four (API level 2)Released on 9 February 2009

Android 1.5 Cupcake (API level 3)Released on 30 April 2009

Android 1.6 Donut (API level 4)Released on 15 September 2009

Android 2.0 Eclair (API level 5)Released on 26 October 2009

Android 2.0.1 Eclair (API level 6)Released on 3 December 2009

Android 2.1 Eclair (API level 7)Released on 12 January 2010

Android 2.2–2.2.3 Froyo (API level 8)Released on 20 May 2010

Android 2.3–2.3.2 Gingerbread (API level 9)

Released on 6 December 2010

Page 14: Android :  Its Development

Android Application Framework

Page 15: Android :  Its Development

Linux 2.6 Kernel• Android was created on top of the open-source Linux 2.6 Kernel

[From Android 4.0 Ice Cream Sandwich onwards, version 3.x]. The Android team chose to use this kernel because it provided proven core features to develop the Android operating system on.

• The features of the Linux 2.6 kernel include (but aren’t limited to) the following:Security model: The Linux kernel handles security between the application

and the system.Memory management: The kernel handles memory management for you,

leaving you free to develop your app.Process management: The Linux kernel manages processes well,

allocating resources to processes as they need them.Network stack: The Linux kernel also handles network communication.Driver model: The goal of Linux is to ensure that everything works.

Hardware manufacturers can build their drivers into the Linux build.

Page 16: Android :  Its Development

Android framework• On top of the Linux 2.6 kernel, the Android framework was

developed with various features. These features were pulled from numerous open-source projects.

• The output of these projects resulted in the following:The Android run time: The Android run time is composed of Java core

libraries and the Dalvik virtual machine.Open GL (graphics library): This cross-language, cross-platform application

program interface (API) is used to produce 2D and 3D computer graphics.WebKit: This open-source Web browser engine provides the functionality to

display Web content and simplify page loading.SQLite: This open-source relational database engine is designed to be

embedded in devices.Media frameworks: These libraries allow you to play and record audio and

video.Secure Sockets Layer (SSL): These libraries are responsible for Internet

security.

Page 17: Android :  Its Development

Application framework• All the open-source frameworks are available to developer through

Android. The Android team has built on a known set of proven libraries and has given them to the developer, all exposed through Android interfaces. These interfaces wrapped up the various libraries and made them useful to the Android platform as well as useful to the developer. Android has all these libraries built in the background and exposes these features to the developer without having to build any of the functionality that they provide:Activity manager: Manages the activity life cycle.Telephony manager: Provides access to telephony services as well as some

subscriber information, such as phone numbers.View system: Handles the views and layouts that make up your user

interface (UI).Location manager: Finds out the device’s geographic location.

Page 18: Android :  Its Development

Thank You !

Contact Aurospace Soft solution

Mob: +91-9437156269E-Mail: [email protected]