android overview shashank kailash gajbhiye. why mobile app development? the fact that we can! only a...
TRANSCRIPT
![Page 1: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/1.jpg)
Android Overview
Shashank Kailash Gajbhiye
![Page 2: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/2.jpg)
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 ownership3
Job market is hot Market for mobile software surges from $4.1 billion in 2009 to
$17.5 billion by 20121
2010 Dice.com survey: 72% of recruiters looking for iPhone app developers, 60% for Android1
Dice.com: mobile app developers made $85,000 in 2010 and salaries expected to rise2
Students (and faculty!) are naturally interested!
![Page 3: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/3.jpg)
Why Android?
A lot of students have them 2010 survey by University of CO1: 22% of college
students have Android phone (26% Blackberry, 40% iPhone)
Gartner survey2: 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
![Page 4: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/4.jpg)
Why Android? Transferring app to phone is trivial
Can distribute by putting it on the web Android Market for wider distribution
• It’s not 1984
![Page 5: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/5.jpg)
Types of Android Devices
![Page 6: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/6.jpg)
Various Android Phones
![Page 7: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/7.jpg)
Galaxy Tablet
![Page 8: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/8.jpg)
Android-Powered Microwave
By Touch Revolution – at CES 2010
![Page 9: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/9.jpg)
Google/Samsung Galaxy Nexus
![Page 10: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/10.jpg)
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
![Page 11: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/11.jpg)
Brief History
Many issues (WAP = “Wait And Pay”) Few developers to produce content (it wasn’t 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
![Page 12: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/12.jpg)
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 1st Android Developer Challenge T-Mobile G1 announced SDK 1.0 released Android released open source (Apache License) Android Dev Phone 1 released
![Page 13: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/13.jpg)
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
![Page 14: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/14.jpg)
Honeycom
b
Android 3.0-3.2
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 SandwichAndroid 4.0+
![Page 15: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/15.jpg)
The Android Developer Website
http://developer.android.com/index.html
This should be your homepage for the next semester!
![Page 16: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/16.jpg)
Distribution of Devices
Data collected during a 14-day period ending on January 3, 2012
![Page 17: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/17.jpg)
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
![Page 18: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/18.jpg)
Android Architecture
More details at: http://developer.android.com/guide/basics/what-is-android.html
![Page 19: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/19.jpg)
Mobile Devices: Advantages (as compared to fixed devices)
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
![Page 20: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/20.jpg)
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
![Page 21: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/21.jpg)
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
![Page 22: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/22.jpg)
Development process for an Android app
http://developer.android.com/guide/developing/index.html
![Page 23: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/23.jpg)
Android Apps
Built using Java and new SDK libraries No support for some Java libraries like Swing &
AWT Oracle currently suing Google over use
Java code compiled into Dalvik byte code (.dex) Optimized for mobile devices (better memory
management, battery utilization, etc.) Dalvik VM runs .dex files
![Page 24: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/24.jpg)
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
![Page 25: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/25.jpg)
Building and running (more details)
Expand figure
Android Interface Definition Language (AIDL) – Definitions to exchange data between applications (think SOAP)
http://developer.android.com/guide/developing/building/index.html#detailed-build
Android Asset Packing Tool
Allows processes across apps to communicate.
![Page 26: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/26.jpg)
Applications Are Boxed
By default, each app is run in its own Linux process Process started when app’s 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 app’s files are only visible to that app
![Page 27: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/27.jpg)
Android Architecture
![Page 28: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/28.jpg)
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
Contests (Android Developer Challenge) Selling products from within your app
![Page 29: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/29.jpg)
Android Market
http://www.android.com/market/
Has various categories, allows ratingsHave both free/paid appsFeatured apps on web and on phoneThe Android Market (and iTunes/App Store) is great for developers Level playing field, allowing third-party apps Revenue sharing
![Page 30: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/30.jpg)
Publishing to Android Market
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
![Page 31: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/31.jpg)
![Page 32: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/32.jpg)
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
![Page 33: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/33.jpg)
Leveraging the web
To keep your apps fast and responsive, consider how you can leverage the web What ____________ can be ________ on a
server or in the cloud? Tasks/performed Data/persisted Data/retrieved
Beware, data transfer is also expensive and can be slow
![Page 34: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/34.jpg)
Other design principles
http://developer.android.com/design/index.html
Great reference!
![Page 35: Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner](https://reader035.vdocuments.us/reader035/viewer/2022081520/5697bf751a28abf838c8061e/html5/thumbnails/35.jpg)
Apple vs. Google
Open Handset Alliance 30+ technology companies Commitment to openness, shared vision, and
concrete plans Compare with Mac/PC battles
Similar (many PC manufacturers, one Apple) Different (Microsoft sells Windows, Google gives
away Android)