1 / 41

Android Overview

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

Download Presentation

Android Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android Overview Dr. Siddharth Kaza Dr. Josh Dehlinger

  2. 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! 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 3http://www.gartner.com/it/page.jsp?id=1466313

  3. 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 1http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/ 2http://www.gartner.com/it/page.jsp?id=1543014

  4. Why Android? • Transferring app to phone is trivial • Can distribute by putting it on the web • Android Market (now Google Play) for wider distribution • It’s not 1984

  5. Types of Android Devices

  6. Various Android Phones

  7. Galaxy Note 3

  8. Galaxy Tablet

  9. Android-Powered Microwave By Touch Revolution – at CES 2010 http://www.pocket-lint.com/news/30712/android-powered-microwave-cooking-google

  10. Android-Powered Watch

  11. Android-Powered Camera

  12. Android-Powered TV

  13. Android-Powered Car Radio

  14. Android-Powered Washing Machine

  15. Android-Powered PC

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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 Honeycomb Android 3.0-3.2 Ice cream Sandwich Android 4.0+ Jelly Bean Android 4.1.1

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

  23. Distribution of Devices http://developer.android.com/resources/dashboard/platform-versions.html

  24. 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

  25. Android Architecture More details at: http://developer.android.com/guide/basics/what-is-android.html

  26. 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

  27. 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

  28. 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

  29. 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

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

  31. 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. Compiled resources (xml files) Android Debug Bridge http://developer.android.com/guide/developing/building/index.html#detailed-build

  32. Building and Running

  33. 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

  34. Android Architecture

  35. 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

  36. 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

  37. 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

  38. 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

  39. Other design principles • http://developer.android.com/design/index.html • Great reference!

More Related