introduction to android, architecture & components

30
Introduction to Introduction to Android Android and and Its Components Its Components 1 Sisoft Technologies Pvt Ltd Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Website: www.sisoft.in Email:[email protected] Email:[email protected] Phone: +91-9999-283-283 Phone: +91-9999-283-283

Upload: vijay-rastogi

Post on 28-Jan-2015

142 views

Category:

Technology


3 download

DESCRIPTION

Overview of Android Android Architecture Android components

TRANSCRIPT

Page 1: Introduction to  Android, Architecture & Components

Introduction to Android Introduction to Android and and

Its ComponentsIts Components

1

Sisoft Technologies Pvt LtdSisoft Technologies Pvt LtdSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, GhaziabadSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad

Website: Website: www.sisoft.in Email:[email protected] Email:[email protected]: +91-9999-283-283Phone: +91-9999-283-283

Page 2: Introduction to  Android, Architecture & Components

1. IntroductionWhat is Android?

• A software platform and operating system for mobile devices.

• As Smart phone OS, it is based on the Linux kernel.

• Android is Framework for developing mobile apps. Framework is set of Interfaces and classes .Framework follow the structure.

• Allows writing managed code in the Java language.

• Android is an open-source platform founded in October 2003 by Andy Rubin and backed by Google in November 2007.

• Developed by Google and later the Open Handset Alliance (OHA).

• Unveiling of the Android platform was announced on 5 November 2007(Android beta) with the founding of OHA.

2www.sisoft.in

Page 3: Introduction to  Android, Architecture & Components

Android Architecture

3www.sisoft.in

Page 4: Introduction to  Android, Architecture & Components

Linux Kernel

• Works as a Hardware Abstraction Layer (HAL)

• Device drivers• Memory management• Process management• Networking

4www.sisoft.in

Page 5: Introduction to  Android, Architecture & Components

Libraries

• C/C++ libraries• Interface through Java• Surface manager – Handling UI Windows• 2D and 3D graphics• Media codecs, SQLite, Browser engine

5www.sisoft.in

Page 6: Introduction to  Android, Architecture & Components

Android Runtime

• Dalvik VMDex filesCompact and efficient than class filesLimited memory and battery power

• Core Libraries Java 5 Std editionCollections, I/O etc

6www.sisoft.in

Page 7: Introduction to  Android, Architecture & Components

Application Framework

• API interface• Activity manager :- manages application life

cycle.

• XMPP Service :- Extensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML

7www.sisoft.in

Page 8: Introduction to  Android, Architecture & Components

Applications

• Built in and user apps

• Can replace built in apps

8www.sisoft.in

Page 9: Introduction to  Android, Architecture & Components

www.sisoft.in 9

Version History

Page 10: Introduction to  Android, Architecture & Components

Android Version & API Level

www.sisoft.in 10

Platform Version API Level VERSION_CODE

Android 4.4 19 KITKAT

Android 4.3 18 JELLY_BEAN_MR2

Android 4.2, 4.2.2 17 JELLY_BEAN_MR1

Android 4.1, 4.1.1 16 JELLY_BEAN

Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1

Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH

Android 3.2 13 HONEYCOMB_MR2

Android 3.1.x 12 HONEYCOMB_MR1

Android 3.0.x 11 HONEYCOMB

Android 2.3.4 , Android 2.3.3 10 GINGERBREAD_MR1

Android 2.3.2 , Android 2.3.1, Android 2.3 9 GINGERBREAD

Android 2.2.x 8 FROYO

Android 2.1.x 7 ECLAIR_MR1

Android 2.0.1 6 ECLAIR_0_1

Android 2.0 5 ECLAIR

Android 1.6 4 DONUT

Android 1.5 3 CUPCAKE

Page 11: Introduction to  Android, Architecture & Components

Version History

• Android beta The Android beta was released on 5 November 2007,while the software

development kit(SDK) was released on 12 November 2007.

• Android 1.0 Android 1.0, the first commercial version of the software, was released on 23

September 2008.

• Android 1.1 On 9 February 2009, the Android 1.1 update was released, initially for the HTC

Dream only. Android 1.1 was known as "Petit Four" internally, though this name was not used officially. The update resolved, changed the Android API and added a number of features.

11www.sisoft.in

Page 12: Introduction to  Android, Architecture & Components

Version History

• Android 1.5 Cupcake Release on 30 April 2009, the Android 1.5 update was released, based on Linux

kernel 2.6.27. This was the first release to officially use a name based on a dessert ("Cupcake"), a theme which would be used for all releases henceforth. The update included several new features and UI amendments.

• Android 1.6 Donut Release on 15 September 2009, the Android 1.6 SDK – dubbed Donut – was

released, based on Linux kernel 2.6.29.Included in the update were numerous new features.

12www.sisoft.in

Page 13: Introduction to  Android, Architecture & Components

Version History

• Android 2.0/2.1 Eclair Release on 26 October 2009, the Android 2.0 SDK – codenamed Eclair – was

released, based on Linux kernel 2.6.29. Changes included

• Android 2.2.x Froyo Release on 20 May 2010, Android 2.2 (Froyo, short for Frozen Yogurt) SDK was

released, based on Linux kernel 2.6.32

• Android 2.3.x Gingerbread Release on 6 December 2010, the Android 2.3 (Gingerbread) SDK was released,

based on Linux kernel 2.6.35. Changes included

13www.sisoft.in

Page 14: Introduction to  Android, Architecture & Components

Android 3.x HoneycombAndroid 3.x Honeycomb:-

Release on 22 February 2011, the Android3.0 (Honeycomb) SDK – the first tablet-only Android update – was released, based on Linux kernel 2.6.36. The first device featuring this version, the Motorola Xoom tablet, was released on 24 February 2011.

14www.sisoft.in

Page 15: Introduction to  Android, Architecture & Components

Android 4.0.x Ice Cream Sandwich

• Android 4.0.x Ice Cream Sandwich

The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1, was publicly released on 19 October 2011.Google's Gabe Cohen stated that Android 4.0 was "theoretically compatible" with any Android 2.3.x device in production at that time. The source code for Android 4.0 became available on 14 November 2011. The update introduced numerous new features, including:

15www.sisoft.in

Page 16: Introduction to  Android, Architecture & Components

Android 4.1/4.2 Jelly Bean

Android 4.1/4.2 Jelly Bean Google announced Android 4.1 (Jelly Bean) at the Google I/O conference on 27 June 2012. Based on Linux kernel 3.0.31, Jelly Bean was anincremental update with the primary aim of improving the functionality and performance of the user Interface. The performance improvement involved "ProjectButter", which uses touch anticipation, triple buffering, extended vsync timing and a fixedframe rate of 60 fps to create a fluid and "buttery-smooth" UI. Android 4.1Jelly Bean was released to the Android Open SourceProject on 9 July 2012, and the Nexus 7 tablet, the first device to run Jelly Bean, was released on 13 July 2012.

16www.sisoft.in

Page 17: Introduction to  Android, Architecture & Components

Android 4.1/4.2 Jelly Bean

Google was expected to announce Jelly Bean 4.2 at an event in New York City on 29 October 2012, but the event was cancelled due to Hurricane Sandy. Instead of rescheduling the live event, Google announced the new version with a press release, under the slogan "A new flavor of Jelly Bean". The first devices to run Android 4.2 were LG‘s Nexus 4 and Samsung‘s Nexus 10, which were released on 13 November 2012.

17www.sisoft.in

Page 18: Introduction to  Android, Architecture & Components

Android 4.3 /Android 5.0

• Android 4.3 Kitkat

18www.sisoft.in

Page 19: Introduction to  Android, Architecture & Components

Application Building Application Building BlocksBlocks

19

Sisoft Technologies Pvt LtdSisoft Technologies Pvt LtdSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, GhaziabadSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad

Website: www.sisoft.in Email:[email protected]: www.sisoft.in Email:[email protected]: +91-9999-283-283Phone: +91-9999-283-283

Page 20: Introduction to  Android, Architecture & Components

Application Building Blocks

• Activity• Service• Content Provider• Broadcast receivers• Intent• Notifications• Resources• Fragments

20www.sisoft.in

Android applications consist of loosely coupled components, bound by the application manifest that describes each component and how they interact. The manifest is also used to specify the application’s metadata, its hardware and platform requirements, external libraries, and required permissions

Page 21: Introduction to  Android, Architecture & Components

Activities : Screen Holder

• An Activity represents the visual representation of an Android application. Typically correspond to one UI screen

• One activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time

• An application usually consists of multiple activities that are loosely bound to each other

21www.sisoft.in

Page 22: Introduction to  Android, Architecture & Components

Activities start each other

22www.sisoft.in

Moving from one activity to another is accomplished by having the current activity start the next one through so called intents.

Page 23: Introduction to  Android, Architecture & Components

Activities – The View

• Each activity has a default window to draw in (although it may prompt for dialogs or notifications)

• The content of the window is a view or a group of views (derived from View or ViewGroup)

• Example of views: buttons, text fields, scroll bars, menu items, check boxes, etc.

• View(Group) made visible via Activity.setContentView() method.

www.sisoft.in www.sisoft.in

Page 24: Introduction to  Android, Architecture & Components

Services: Background component• A service is a component which runs in the

background, without direct interaction with the user

• The Android platform provides and runs predefined system services and every Android application can use them, given the right permissions.

24www.sisoft.in

Page 25: Introduction to  Android, Architecture & Components

Broadcast Receivers: Passive Actor

• Receive and react to broadcast announcements

• Examples of broadcasts:– Low battery, power connected, shutdown,

timezone changed, etc.– Other applications can initiate broadcasts

• To create a new Broadcast Receiver, extend the BroadcastReceiver class and override the onReceive event handler

25 www.sisoft.in

Page 26: Introduction to  Android, Architecture & Components

Content Providers: Data Access Mechanism

• Makes some of the application data available to other applications

• It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.)

• Extends the class ContentProvider;• Other applications use a ContentResolver

object to access the data provided via a ContentProvider

26 www.sisoft.in

Page 27: Introduction to  Android, Architecture & Components

Intent: Messenger • An intent is an abstract description of an operation to

be performed• Moving from one activity to another is accomplished

by having the current activity start the next one through intents

• The intents can communicate messages among any of the three core components of an application - activities, services, and broadcast receivers

• Data across components is also passed thru intents

27www.sisoft.in

Page 28: Introduction to  Android, Architecture & Components

Notifications: Reminding User• Android allows to put notification into the Title bar of your

application. The user can expand the notification bar and by selecting the notification the user can trigger another activity.

• There are three types of notifications in Android. Toast Notifications Status Bar Notifications Dialog Notifications

www.sisoft.in28

Toast Notification Status Bar Notifications Dialog Notifications

Page 29: Introduction to  Android, Architecture & Components

Resources: App Program Data• Android supports that resources like images and certain XML

configuration files, can be kept separate from the source code.

• Resource files must be placed in the /res directory in a predefined sub-folder dependent on their type. You can also append additional qualifiers to the folder name to indicate that the related resources should be used for special configurations.

• For example, you can specify that layout file is only valid for a certain screen size.

www.sisoft.in29

Page 30: Introduction to  Android, Architecture & Components

Widgets• Visual application components that are typically added to the

device home screen.• A special variation of a Broadcast Receiver, widgets enable

you to create dynamic, interactive application components for

users to embed on their home screens.

www.sisoft.in30