0% found this document useful (0 votes)
30 views41 pages

Android Overview

Basic overview

Uploaded by

varunrocks93
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views41 pages

Android Overview

Basic overview

Uploaded by

varunrocks93
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

Android Overview

Dr. Siddharth Kaza


Dr. Josh Dehlinger


Why Mobile App Development?
The fact that we can! Only a few years ago you had to
be in the Motorola inner circle to do it!
Mobile platform is the platform of the future
Double-digit growth in world-wide smartphone ownership
3
Job market is hot
Market for mobile software surges from $4.1 billion in 2009 to
$17.5 billion by 2012
1
2010 Dice.com survey: 72% of recruiters looking for iPhone app
developers, 60% for Android
1
Dice.com: mobile app developers made $85,000 in 2010 and
salaries expected to rise
2
Students (and faculty!) are naturally interested!

1
http://www.businessweek.com/technology/content/oct2010/tc20101020_639668.htm
2
http://it-jobs.fins.com/Articles/SB129606993144879991/Mobile-App-Developers-Wanted-at-Ad-Agencies
3
http://www.gartner.com/it/page.jsp?id=1466313
Why Android?
A lot of students have them
2010 survey by University of CO
1
: 22% of college
students have Android phone (26% Blackberry, 40%
iPhone)
Gartner survey
2
: Android used on 22.7% of
smartphones sold world-wide in 2010 (37.6%
Symbian, 15.7% iOS)
Students already know Java and Eclipse
Low learning curve
CS0 students can use App Inventor for Android
1
http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/
2
http://www.gartner.com/it/page.jsp?id=1543014
Why Android?
Transferring app to phone is trivial
Can distribute by putting it on the web
Android Market (now Google Play) for wider
distribution
Its not 1984

Types of
Android
Devices
Various Android Phones

Galaxy Note 3
Galaxy Tablet
Android-Powered Microwave
http://www.pocket-lint.com/news/30712/android-powered-microwave-
cooking-google
By Touch Revolution at CES 2010
Android-Powered Watch
Android-Powered Camera
Android-Powered TV
Android-Powered Car Radio
Android-Powered Washing
Machine
Android-Powered PC

Brief History
1996
The WWW already had websites with color and
images
But, the best phones displayed a couple of lines
of monochrome text!
Enter:
Wireless Application Protocol (WAP) stripped down
HTTP for bandwidth reduction
Wireless Markup Language (WML) stripped down
HTML for content


Brief History
Many issues (WAP = Wait And Pay)
Few developers to produce content (it wasnt fun!)
Really hard to type in URLs using the small
keyboards
Data fees frightfully expensive
No billing mechanism content difficult to
monetize
Other platforms emerged
Palm OS, Blackberry OS, J2ME, Symbian
(Nokia), BREW, OS X iPhone, Windows Mobile
Brief History - Android
2005
Google acquires startup Android Inc. to start Android platform
Work on Dalvik VM begins
2007
Open Handset Alliance announced
Early look at SDK
2008
Google sponsors 1
st
Android Developer Challenge
T-Mobile G1 announced
SDK 1.0 released
Android released open source (Apache License)
Android Dev Phone 1 released

Brief History cont.
2009
SDK 1.5 (Cupcake)
New soft keyboard with autocomplete feature
SDK 1.6 (Donut)
Support Wide VGA
SDK 2.0/2.0.1/2.1 (Eclair)
Revamped UI, browser
2010
Nexus One released to the public
SDK 2.2 (Froyo)
Flash support, tethering
SDK 2.3 (Gingerbread)
UI update, system-wide copy-paste


Brief History cont.
2011
SDK 3.x (Honeycomb)
Optimized for tablet support
SDK 4.0 (Ice Cream Sandwich)
Virtual UI buttons
2012
SDK 4.1.1 (Jelly Bean)
Triple buffered graphics pipeline

Brief History cont.
2011
SDK 3.0/3.1/3.2 (Honeycomb) for tablets only
New UI for tablets, support multi-core processors
SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich)
Changes to the UI, Voice input, NFC



Ice cream Sandwich
Android 4.0+
Jelly Bean
Android 4.1.1
Distribution of Devices








Data collected during a 14-day period ending on January 3, 2012
http://developer.android.com/resources/dashboard/platform-versions.html
Distribution of Devices










http://developer.android.com/resources/dashboard/platform-versions.html
What is Google Android?
A software stack for mobile devices that includes
An operating system
Middleware
Key Applications

Uses Linux to provide core system services
Security
Memory management
Process management
Power management
Hardware drivers
Android Architecture

More details at: http://developer.android.com/guide/basics/what-is-android.html
Mobile Devices: Advantages
Always with the user
Typically have Internet access
Typically GPS enabled
Typically have accelerometer & compass
Most have cameras & microphones
Many apps are free or low-cost

Mobile Devices: Disadvantages
Limited screen size
Limited battery life
Limited processor speed
Limited and sometimes slow network access
Limited or awkward input: soft keyboard, phone
keypad, touch screen, or stylus
Limited web browser functionality
Range of platforms & configurations across
devices link


Mobile Applications
What are they?
Any application that runs on a mobile device
Types
Web apps: run in a web browser
HTML, JavaScript, Flash, server-side components,
etc.
Native: compiled binaries for the device
Often make use of web services
Android Apps
Built using Java and new SDK libraries
No support for some Java libraries like Swing &
AWT
Java code compiled into Dalvik byte code
(.dex)
Optimized for mobile devices (better memory
management, battery utilization, etc.)
Dalvik VM runs .dex files

Development
process for an
Android app
http://developer.android.com/guide/developing/index.html
Building and running








ADB is a client server program that connects clients on developer
machine to devices/emulators to facilitate development.
An IDE like Eclipse handles this entire process for you.

http://developer.android.com/guide/developing/building/index.html#detailed-build
Compiled resources
(xml files)
Android Debug Bridge
Building and Running
Applications Are Boxed
By default, each app is run in its own Linux
process
Process started when apps code needs to be
executed
Threads can be started to handle time-consuming
operations
Each process has its own Dalvik VM
By default, each app is assigned unique Linux ID
Permissions are set so apps files are only visible to
that app
Android Architecture

Publishing and Monetizing
Paid apps in Android Market, various other
markets
Free, ad-supported apps in Android Market
Ad networks (Google AdMob, Quattro Wireless)
Sell your own ads
Services to other developers
Ex. Skyhook Wireless (http://www.skyhookwireless.com/)
Contests (Android Developer Challenge)
Selling products from within your app

Android Market (Google Play)
https://play.google.com/store

Has various categories, allows ratings
Have both free/paid apps
Featured apps on web and on phone
The Android Market (and iTunes/App Store) is
great for developers
Level playing field, allowing third-party apps
Revenue sharing
Publishing to Google Play
Requires Google Developer Account
$25 fee
Link to a Merchant Account
Google Checkout
Link to your checking account
Google takes 30% of app purchase price

Android Design Philosophy
Applications should be:
Fast
Resource constraints: <200MB RAM, slow processor
Responsive
Apps must respond to user actions within 5 seconds
Secure
Apps declare permissions in manifest
Seamless
Usability is key, persist data, suspend services
Android kills processes in background as needed
Other design principles
http://developer.android.com/design/index.html

Great reference!

You might also like