2/10/2014

1
Introduction to Mobile Application
Development
Slide 2
Mobile ?
3. The world is not
a desktop
2. An important
part of our life
1.
Mobile phones
are everywhere
2/10/2014
2
Slide 3
Mobile phones are everywhere
Slide 4
Airport
2/10/2014
3
Slide 5
Rural area
Slide 6
2/10/2014
4
Slide 7
Phones become an important
part of our life
Connecting People
Entertainment
Device
Slide 8
The world is not a desktop
2011, World populations 7 billion people,
5.6 billion mobile phones
2011, USA, 327.5/310, 103.9%
2009, GER, 107/82, 130%
2008, UK, 75.7/61.6, 123%
2010, VIETNAM, 72/90, 79%
Source:
http://en.wikipedia.org/wiki/List_of_countries_
by_number_of_mobile_phones_in_use
2/10/2014
5
Slide 9
Are there enough software for eveyone ?
Slide 10
The world is going mobile
Many challenges
You can find more reasons
Why we learn???
2/10/2014
6
Slide 11
What is course talking about ?
Slide 12
The mobile phone of the 21 centuty
2/10/2014
7
Slide 13
The mobile phone of the 21 centuty
Smart
Mobile
It has
System
It has
Operating
System
It is an It is an
entertainment
device
It has
Sensors
Network
connections
It is
powerful
Slide 14
The phone is powerful
Plenty of RAM Heaps of
external
storage
Multi-core CPU
2/10/2014
8
Slide 15
Khái niệm CPU Core
CPU: Central Processing Unit
Computational power
of a computer is
usually measured by
the power of its CPU
Slide 16
Quad-core
Quad cores = 4 cores
Means:
4 “CPU” in a box
More powerful, stronger
More engergy
consumption
More difficult to manage
2/10/2014
9
Slide 17
It has operating system
Slide 18
Connectivities – Wide range
3G
2/10/2014
10
Slide 19
Connectivities – Short range
Slide 20
It has sensors
Accelerometer Touch Screen
GPS receiver
2/10/2014
11
Slide 21
Assisted GPS (A-GPS)
(on smartphones)
Slide 22
Location based Services
Map related applications
∗ Navigation Based Services
∗ Routing Services
2/10/2014
12
Slide 23
It is an Entertainment Device
Slide 24
The smartphones problems
Difficult to
interact
Battery
life
Expensive
Social issues
Distraction
2/10/2014
13
Slide 25
Difficult Interaction
Small Screen Icon based ?
Too complicated
Menu based ?
Slide 26
Short battery life
Battery
Awareness
How much energy that your app
uses ?
2/10/2014
14
Slide 27
They are expensive
Slide 28
Social issues
Distractions
Mobile phones have
changed our way of
communication
Isolationism
2/10/2014
15
Slide 29
Though, there are many difficulties:
We still love them !
Slide 30
How to develop an innovative
program on Mobile phone ?
context
awareness
User
experience
Social
Networks
innovative
2/10/2014
16
Slide 31
Context-awareness
http://www.mlab.t.u-
tokyo.ac.jp/research/2005/context-
aware_computing/index_e.php
Slide 32
GUI
Menu & Navigation
Intuitive
User experience
2/10/2014
17
Slide 33
We live in a community, not in
an island
Wireless connections are
everywhere
Knowing & Sharing & Caring
Connectivity & Social networks
Mobile Application Development
A Little Background
2/10/2014
18
Slide 35
History of Mobile Phones
Slide 36
And Then… Smart Phones!!!
2/10/2014
19
Slide 37
And Then… Smart Phones!!!
Slide 38
IPhone
2/10/2014
20
Slide 39
Sales Dropped…
Slide 40
A New Player Arrives… Google!!
2/10/2014
21
Slide 41
Open Handset Alliance (OHA)
Mobile Application Development
The Future
2/10/2014
22
Slide 43
Future of Android
Slide 44
Future of Android
2/10/2014
23
Slide 45
Future of Android
Slide 46
Android Box
Android 4.0 OS
Built-in Skype Camera
1GB DDR3, 4GB Nand Flash
Support 3G Dongle
Support flash 11, Support HTML5
Support Android APPs from Google Play or others
Support 2.4G wireless keyboard & mouse
Support sorts of USB 3G dongle, make access to
internet more conveniently
2/10/2014
24
Slide 47
Applications of Android Box
Information Display Systems
Real-Time Process Monitoring
Media Processing Systems
Queue Management Systems
Imagination is the only limit
Slide 48
Information Display Systems
2/10/2014
25
Slide 49
Real-Time Process Monitoring
Slide 50
Queue Management Systems
2/10/2014
26
Android
Common Misconceptions
Slide 52
What It Isn’t
A Java ME implementation
Part of the Linux Phone Standards Forum (LiPS)
Simply an application layer (like UIQ or S60)
A mobile phone handset
Google’s answer to the iPhone
2/10/2014
27
Slide 53
An Open Platform for Mobile Development
The first truly open and comprehensive platform for mobile
devices, all of the software to run a mobile phone but
without the proprietary obstacles that have hindered mobile
innovation.
Slide 54
Android Software Stack
2/10/2014
28
Slide 55
An Open Platform for Mobile Development
A hardware reference design that describes the capabilities required
of a mobile device in order to support the software stack
A Linux operating system kernel that provides the low-level
interface with the hardware, memory management, and process
control, all optimized for mobile devices
Open source libraries for application development including
SQLite, WebKit, OpenGL, and a media manager
Slide 56
An Open Platform for Mobile Development
A run time used to execute and host Android applications,
including the Dalvik virtual machine and the core libraries that
provide Android specific functionality. The run time is
designed to be small and efficient for use on mobile devices.
An application framework that agnostically exposes system
services to the application layer, including the window
manager, content providers, location manager, telephony, and
peer-to-peer services
2/10/2014
29
Slide 57
An Open Platform for Mobile Development
A user interface framework used to host and launch
applications
Preinstalled applications shipped as part of the stack
A software development kit used to create applications,
including the tools, plug-ins, and documentation
Slide 58
Native Android Applications
An e-mail client
An SMS management application
A full PIM (personal information management) suite
Mobile Google Maps application
Web Browser
An Instant Messaging Client
A music player and picture viewer
The Android Marketplace client
The Amazon MP3 store client
2/10/2014
30
Slide 59
Android SDK Features
Access to Hardware including Camera, GPS, and Accelerometer
Native Google Maps, Geo coding, and Location-Based Services
Background Services
SQLite Database for Data Storage and Retrieval
Slide 60
Android SDK Features
Shared Data and Inter - application Communication
P2P Services with Google Talk
Extensive Media Support and 2D/3D Graphics
Optimized Memory and Process Management
2/10/2014
31
Slide 61
Why Develop for Android?
Simple and powerful SDK
No licensing fees
Excellent documentation
A thriving developer community
Backed by more than 30 OHA members
Slide 62
What Makes Android Unique
Google Maps Application
Background Services and Applications
Shared Data and Inter-process Communication
All Applications Are Created Equal
P2P Inter device Application Messaging
2/10/2014
32
Slide 63
What Comes in the Box
The Android APIs
Development Tools
The Android Emulator
Full Documentation
Sample Code
Online Support
Slide 64
Android Application Architecture
Activity Manager: Controls the life cycle of your activities,
including management of the activity stack
Views: Are used to construct the user interfaces for your
activities.
Notification Manager: Provides a consistent and non
intrusive mechanism for signaling users
Content Providers: Lets your applications share data
between applications
Resource Manager: Supports non-code resources like
strings and graphics to be externalized .
2/10/2014
33
Slide 65
What We Need to Begin Development
Android SDK
http://code.google.com/android/download.html
Java Development Kit 5 or 6
http://java.sun.com/javase/downloads/index.jsp
Eclipse
www.eclipse.org/downloads/