Mobile Computing - JATIN PURI

sandwichclippersMobile - Wireless

Nov 24, 2013 (3 years and 6 months ago)

62 views

Android

-

A Fairy Tail

Outline


Android


A brief History


Android Internals


Why you should care about Android


Android App in 10 Minutes


The Future


2


CS C314 Software Development For Portable Devices

3

Android Journey

Founded by


Andy
Rubin

(co
-
founder of

Danger
),


Rich
Miner(co
-
founder of Wildfire Communications,
Inc
.),


Nick
Sears (once VP at

T
-
Mobile)


Chris
White (headed design and interface
development at

WebTV)



"...smarter mobile devices that are
more aware of its owner's location
and
preferences“


-
Andy Rubin

(Senior VP Mobile, Google)




Google’s
Vision


Or
Desperation

Google buys Android


-

August
2005


Google’s
Master Plan



Make
the cloud more
accessible


Keep
connectivity
pervasive


Make
the client more
powerful




Open Handset Alliance

9

Open Handset Alliance








Novemb

How is Android Different



Great Documentation


Background Tasks


Android Market


Platform Heterogeneity

Getting started

Development Environment


Operating Systems


Windows


Mac


Linux


Eclipse


Android SDK


ADT Eclipse Plugin (Optional)


Native Development Toolkit (Optional)



Which Platform?

Java

"What we've actually been asked to do
by Larry
and
Sergey
is
to investigate what technical
alternatives exist to Java for Android and
Chrome. We've been over a bunch of these, and
think they all suck. We conclude that we need to
negotiate a license for Java under the terms we
need
.“


-

Excepts from internal
Google email known as
the "
Lindholm

draft"

Why Java


Popularity


The Most used language in the
world


Strong Community


Robust Open Source Tool Chain with a lot of
third party libraries






Ways to Develop


Java


Java + C/C++


C++ : Primarily for Games


HTML + CSS + JavaScript


Scripting


Dalvik

Virtual Machine

Sun’s standard JVM

Java and
Dalvik

VM

Java Source
Code


.java files

Byte Code


Java
Compiler

Java Virtual
Machine


Processed

Java Compiler


Java Source
Code


.java files

Byte Code


Java
Compiler

Dalvik

Byte
Code


Dalvik

VM

Java Compiler


Dex

Compiler


Dalvik

Executables

Key Differences


Register Based
vs

Stack Based


More efficient and Compact Implementation


Dalvik

runs .
dex

files


Why not Sun’s Standard JVM


License


Mobile Experience


Size :
Dalvik

Uncompressed is 70% Java
Compressed


.class files


Custom made


Why not J2ME

Dex

Compiler


Dalvik

Executables

Java Source
Code


.java files

Byte Code


Java
Compiler

Dalvik

Byte
Code


Dalvik

VM

Application Framework



Dalvik

Executables


Resources


Native Libs

What is Android?


“ Android
is a software stack for mobile
devices
that includes an operating system,
middleware and key
applications ”


40

Android S/W Stack


App Framework

41

Android S/W Stack


App Framework

Core Platform Services,


Activity Manager


Package Manager


Window Manager


Resource Manager


Content Providers


View System

42

Android S/W Stack


App Framework

Hardware Services,


Telephony Service


Location Service


Bluetooth Service


Wi
-
Fi Service


USB Service


Sensor Service


Java
--------

> C using JNI


Native Development Toolkit


How does Google earn or benefit from
Android?

Android Update History

1.0

23 September 2008

1.1

9 February 2009

1.5 (Cupcake)

Based on Linux Kernel 2.6.27

30 April 2009

1.6 (Donut)

Based on Linux Kernel 2.6.29

15 September 2009

2.0 / 2.1 (Eclair)

Based on Linux Kernel 2.6.29

26 October 2009

2.2 (Froyo)

Based on Linux Kernel 2.6.32

20 May 2010

Android Current

2.3 (Gingerbread)

Based on Linux Kernel 2.6.35.7

6 December 2010

3.0 Honeycomb

Ice Cream

Android
Current Distribution

Based on data collected on January 4, 2011

Open source project


http://source.android.com


Apache 2.0 and GPL v2


Git repository

Android SDK


Android emulator


Command line tools


Documentation


Sample Applications

Android emulator (s)

Eclipse plugin


https://dl
-
ssl.google.com/android/eclipse/


CS C314 Software Development For Portable Devices

52



Thank you





http://jatinpuri.com

jatin@jatinpuri.com

9604438132



53