Going
Mobile
with
Android
Mustafa
Ali
Android
Technical
Lead,
Mutual
Mobile
@mustafa01ali
Slide 2
Slide 2 text
* Linux
based
operating
system
for
mobile
devices
* Initially
developed
by
Android
Inc.,
later
bought
by
Google
* Launched
in
2007
* Managed
by
the
Open
Handset
Alliance
Android
Slide 3
Slide 3 text
Global
Market
share
~80%
Source:
IDC
Slide 4
Slide 4 text
Devices
activated
900
Million
Source:
Google
Slide 5
Slide 5 text
Activations
per
day
1.5
Million
Source:
Google
Slide 6
Slide 6 text
Applications
on
Google
Play
1
Million
Source:
Google
Slide 7
Slide 7 text
Application
downloads
50
Billion
Source:
Google
Slide 8
Slide 8 text
Phones
&
Tablets
Slide 9
Slide 9 text
Cameras
Slide 10
Slide 10 text
Watches
Slide 11
Slide 11 text
Glass
Slide 12
Slide 12 text
Refrigerators
Slide 13
Slide 13 text
Coffee
Machines
Slide 14
Slide 14 text
Microwave
Ovens
Slide 15
Slide 15 text
Washing
Machines
Slide 16
Slide 16 text
Apache
License
2.0,
GNU
GPL
v2
Open
Source
Slide 17
Slide 17 text
Android
Architecture
Slide 18
Slide 18 text
* Operating
System
* Windows
* OS
X
* Linux
* Android!
* IDE
* Eclipse
* Android
Studio
* Programming
Language
* Java
* C,
C++
using
the
NDK
Development
Environment
Slide 19
Slide 19 text
* Building
* Ant
* Gradle
* Debugging
and
Testing
* Real
devices
* Android
Emulator
/
Genymotion
* Remote
testing
via
Device
Anywhere,
TestDroid,
etc.
Development
Environment
Slide 20
Slide 20 text
Getting
Started
Slide 21
Slide 21 text
Project
Structure
Slide 22
Slide 22 text
* Activities
* Services
* Intents
and
Intent
Filters
* Content
Providers
Building
Blocks
Slide 23
Slide 23 text
* Application
component
that
provides
a
screen
with
which
users
can
interact
* Each
activity
is
given
a
window
to
draw
its
user
interface
* Navigating
between
activities
is
managed
by
the
“Back
Stack”
* Activities
can
send
and
receive
data
to
and
from
other
activities
Activity
Slide 24
Slide 24 text
Activity
Lifecycle
Slide 25
Slide 25 text
* Action
Bar
* Layouts
* Input
Controls
User
Interface
Slide 26
Slide 26 text
Action
Bar
Slide 27
Slide 27 text
* Dedicated
piece
of
real
estate
at
the
top
of
each
screen
that
is
generally
persistent
throughout
the
app
* Provides
consistent
navigation
across
different
applications
* Makes
key
actions
for
the
activity
prominent
and
accessible
to
the
user
in
a
predictable
way
* Introduced
in
Android
3.0
(API
level
11)
Action
Bar
Slide 28
Slide 28 text
* Action
Bar
* Layouts
* Widgets
Creating
user
interfaces
Slide 29
Slide 29 text
* Define
the
visual
structure
for
a
user
interface
* Declared
in
XML
* Can
also
be
created
programmatically
Layouts
Slide 30
Slide 30 text
* Action
Bar
* Layouts
* Input
Controls
Creating
user
interfaces
Slide 31
Slide 31 text
Input
Controls
Slide 32
Slide 32 text
* Android
automatically
adapts
your
layout
for
you
* Gives
you
the
flexibility
to
have
a
different
layouts
as
well
1. Create
a
folder
layout-‐land
2. Name
of
the
layout
file
should
be
the
same
3. Ids
of
the
views
in
the
layout
files
should
be
the
same
Supporting
Multiple
Orientations
Slide 33
Slide 33 text
Questions?
Slide 34
Slide 34 text
* Android
developer
site
-‐
developer.android.com
* Android
Open
Source
Project
(AOSP)
* StackOverflow
Need
help?