Você está na página 1de 33

ANDROID

What is Android?
Android is a mobile operating system(OS).
Google has further developedAndroid
TVfor televisions,Android Autofor cars,
andAndroid Wearfor wrist watches, each
with a specialized user interface.
Variants of Android are also used
onnotebooks,game consoles,digital
cameras, and other electronics.

Difference between a mobile's OS and


Desktop OS

Power
Interface
Memory
Communication
processor
Portability

Other Mobile OSs.

iOS
BlackBerry OS
Windows Phone
Symbian OS
Bada
Firefox OS
Ubuntu Touch
Sailfish OS

History
Android was founded in October
2003 by
Andy Rubin
Rich Miner
Nick Sears
Chris White

History
In July 2005,Googleacquired Android
Inc. for at least $50 million, whose key
employees, including Rubin, Miner
and White, stayed at the company
after the acquisition.
The first commercially available
smartphone running Android was the
HTC Dream, released onOctober 22,
2008.

Versions
Android 1.0 and 1.1 had no fun codename
This first release was made in September 2008,
not used in any commercially available device

Cupcake: Released on April 30, 2009


Android 1.5

Donut: September 15, 2009


Android 1.6

Eclair: October 26, 2009


Android 2.0
Android 2.1

Froyo:May 20, 2010


Android 2.2

Gingerbread: December 6, 2010


Android 2.3

Versions
Honeycomb: February 22, 2011
Android 3.0
Android 3.1
Android 3.2

Ice Cream Sandwich: October 19, 2011


Android 4.0

Jelly Bean: July 9, 2012.


Android 4.1
Android 4.2
Android 4.3

Versions
KitKat: September
2013,
Android 4.4

Lollipop: October 2014


Android 5.0
Android 5.1

Marshmallow: October
2015
Android 6.0

Smartphone OS Market Share

Smartphone OS Market Share


Period

Android

iOS

Windows
Phone

BlackBerry
OS

Others

2015
Q2

82.8%

13.9%

2.6%

0.3%

0.4%

2014
Q2

84.8%

11.6%

2.5%

0.5%

0.7%

2013
Q2

79.8%

12.9%

3.4%

2.8%

1.2%

2012
Q2

69.3%

16.6%

3.1%

4.9%

6.1%

Source: IDC, Aug 2015

Android App Statistics


Current number of Android apps in the market:
19,03,691 on January 11, 2016
Current number of free apps in the
market:16,97,266
Current number of paid apps in the market:
2,06,500

Android App Statistics

Architecture

Android S/W Stack - Application

Android provides a set of core applications:


Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc
All applications are written using the Java language.

Android S/W Stack App Framework

The Application Framework layer provides many


higher-level services to applications in the form of
Java classes.
Application developers are allowed to make use
of these services in their applications.

Android S/W Stack App Framework


Feature

Role

View
System

Used to build an application, including lists, grids, text boxes, buttons, and
embedded web browser

Content
Provider

Enabling applications to access data from other applications or to share


their own data

Resource
Manager

Providing access to non-code resources (localized strings, graphics, and


layout files)

Notification
Manager
Activity
Manager

Enabling all applications to display customer alerts in the status bar

Managing the lifecycle of applications and providing a common navigation


backstack

Android S/W Stack - Libraries

Including a set of C/C++ libraries used by


components of the Android system
Exposed to developers through the Android
application framework

Android S/W Stack - Runtime

Core Libraries
Providing most of the functionality available in the core libraries of the
Java language
APIs
Data Structures
Utilities
File Access
Network Access
Graphics
Etc

Android S/W Stack Runtime (Cont)


Dalvik Virtual Machine
Providing environment on which every Android application
runs
Each Android application runs in its own process, with its own
instance of the Dalvik VM.
Dalvik has been written such that a device can run multiple VMs
efficiently.

Register-based virtual machine

20

Android S/W Stack Runtime


(Cont)
Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal memory footprint.
Compilation

Relying on the Linux Kernel for:


Threading
Low-level memory management
21

Android S/W Stack Linux Kernel

Relying on Linux Kernel 2.6 for core system services

Memory and Process Management

Network Stack

Driver Model

Security

Providing an abstraction layer between the H/W and the rest of the
S/W stack

Application
Fundamentals

Apps are written in Java


Bundled by Android Asset Packaging Tool
Every App runs its own Linux process
Each process has its own Java Virtual Machine
Each App is assigned a unique Linux user ID
Apps can share the same user ID to see each
others files

Activity Lifecycle

What is Activities ?
An Activity is an application component that provides
a screen with which users can interact in order to do
something,
Ex. such as dial the phone, take a photo, send an
email, or view a map.
Each activity is given a window in which to draw its
user interface. The window typically fills the screen,
but may be smaller than the screen and float on top
of other windows.
25

Activity has four states


1. activeorrunning
If an activity in the foreground of the screen (at the top of the stack).

2. paused
If an activity has lost focus but is still visible (that is, a new nonfull-sized or transparent activity has focus on top of your activity).
A paused activity is completely alive (it maintains all state and
member information and remains attached to the window
manager),
but can be killed by the system in extreme low memory
situations.
26

Activity has four states


3. stopped
If an activity is completely hide by another activity.
It still retains all state and member information, however, it is
no longer visible to the user so its window is hidden and it will
often be killed by the system when memory is needed
elsewhere.

4. finish (killing its process)


If an activity is paused or stopped, the system can drop the
activity from memory by either asking it to.
When it is displayed again to the user, it must be completely
restarted and restored to its previous state.
27

Intents and Intent Filters


An Intent is a messaging object we can use to request
an action from another app component.
Although intents facilitate communication between
components in several ways.
To start an activity.
To start a service.
To deliver a broadcast.
28

Starting an Activity
You can start another activity by calling
startActivity(), passing it an Intent that describes the
activity you want to start.
An intent can also carry small amounts of data to be
used by the activity that is started.
Intent intent = new Intent(this,
SignInActivity.class);
startActivity(intent);

29

Shutting Down an Activity


We can shut down an activity by calling its finish()
method.
We can also shut down a separate activity by calling
finishActivity()

30

Managing the Activity Lifecycle


When an activity transitions into and out of the different
states, it is notified through various callback methods.
The entire lifetime of an activity happens between the
call to onCreate() and the call to onDestroy().
The visible lifetime of an activity happens between the
call to onStart() and the call to onStop().
The system might call onStart() and onStop() multiple
times during the entire lifetime of the activity, as the
activity alternates between being visible and hidden to
the user.
31

Managing the Activity Lifecycle


The foreground lifetime of an activity happens
between the call to onResume() and the call to
onPause().
During this time, the activity is in front of all other
activities on screen and has user input focus.

32

Thanking
You

Você também pode gostar