smartphone-presentation
Download
Report
Transcript smartphone-presentation
SMARTPHONE APPLICATION
DEVELOPMENT
Sam Palmer
WHY IS THIS INTERESTING?
Smartphones are becoming increasingly common
As hardware improves smartphones are
becoming increasingly more powerful
Smartphones now resemble computers more than
phones
Mobile operating systems are becoming
increasingly robust
EVERYONE LIKES MONEY
Mobile applications are an expanding and
lucrative market
Itunes store has over 150,000 third party
applications with over 3 BILLION downloads
Android Market has over 40,000 applications and
is growing by about 8,000 apps a month
THE APP STORE
Used for iphone applications
$99 yearly membership for unlimited app hosting
Apps pricing: $0.99 - $999.99
Profits: 70% developer / 30% Apple
Apps must be approved by Apple
Only way to distribute iphone apps
ANDROID MARKET
$25 one time fee for lifetime membership
No fee for hosting applications
Profits: 70% developer / 30% Google
Content not regulated/restricted
Can distribute apps through other venues
WINDOWS MARKETPLACE
$99 yearly membership
$99 per app submission
Apps must be approved by Microsoft
Profits: 70% developer / 30% Microsoft
Can distribute apps through other venues
ANDROID
Based on the linux 2.6 kernel
Open source operating system – Apache public
license
Operating system is available free to
manufacturers
Applications written in a combination of Java &
XML
Designed to encourage use & reuse of
applications
Uses Eclipse IDE & Android Development
Toolkit plugin (ADT)
ADT includes graphical phone emulator
LIBRARIES
C & C++ code
Webkit – open source browser engine (also used
in Safari)
Dalvik VM – specifically designed for android &
embedded systems.
Uses .dex files – which are more efficiently
compiled bytecode optimized for embedded
systems
Can run multiple processes & each process has
its own VM
APPLICATION FRAMEWORK
All applications use the same framework & APIs
Activity Manager: manages lifecycle of
applications. Includes a common backstack to
integrate multiple running processes seamlessly
to the user
Package Manager: keeps track of installed apps
Window Manager: manages windows
Telephony manager: contains the phone API
APPLICATION FRAMEWORK
Content providers: allow applications to share
data with other apps
Resource Manager: stores bitmaps, layout files,
and other external parts that are not code
View System: contains buttons, lists, and other
UI components
APPLICATION BUILDING BLOCKS
Activity: UI components, typically corresponding
to a single screen. An app can have multiple
activities
Intent Receiver: responds to notifications or
state changes. Can wake up a process
Service: a faceless task that runs in the
background. Activities can connect to services
Content Provider: enables applications to share
data. Data can be stored in any fashion, such as
files or in the internal SQlite database
INTENTS
Intents are messages used for late-time binding
between components in the same or different
applications
Android automatically finds the appropriate
activity, service, or broadcast receiver and
instantiates it if necessary
Almost any task has an intent in the middle
Promotes modularity
Core phone features can be changed for user
created versions
BACKSTACK
Used to seamlessly transition between processes
System automatically saves state information of
applications before starting a new app
http://www.youtube.com/watch?v=fL6gSd4ugSI&fe
ature=player_embedded#t=03m50s
HELLOWORLD
IPHONE: HELLOWORLD
IPHONE: HELLOWORLD
ANDROID RESOURCES
http://developer.android.com/index.html