Android Overview

Views:
 
     
 

Presentation Description

android os

Comments

Presentation Transcript

Android Overview:

Android Overview Dr. Josh Dehlinger Dr. Siddharth Kaza

Why Mobile App Development?:

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?:

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?:

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

PowerPoint Presentation:

Types of Android Devices

Various Android Phones:

Various Android Phones

Galaxy Tablet:

Galaxy Tablet http://www.samsung.com/us/mobile/galaxy-tab/SCH-I800BKAVZW 7-inch 1024 x 600-pixel LCD screen 0.84 pounds 7.48 x 4.74 x 0.47 inches 1 GHz Coretx A8 processor (single core) 512 MB RAM 16 or 32 GB internal storage Front and rear cameras

Android-Powered Microwave:

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

Google Nexus One:

http://www.wired.com/reviews/product/pr_nexus_one Google Nexus One Not tied to single provider 3.7-inch 800 x 400-pixel OLED screen No support for multitouch 512 MB of built-in flash memory Preloaded 4 GB SD card Ubiquitous voice recognition 5-megapixel camera with zoom and flash Navigation system using Google Maps and GPS

The latest and greatest:

The latest and greatest This slide will never be able to keep up! Droid Bionic http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/DROID-BIONIC-US-EN

Brief History:

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:

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

Brief History - Android:

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

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

Brief History cont. 2011 SDK 3.0/3.1/3.2 (Honeycomb) for tablets only New UI for tablets, support multi-core processors Honeycomb Android 3.0-3.2

Distribution of Devices:

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

What is Google Android?:

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:

Android Architecture

Mobile Devices: Advantages:

Mobile Devices: Advantages Always with the user Typically have Internet access Typically GPS enabled Typically have accelerometer & compass Many have cameras & microphones Many apps are free or low-cost

Mobile Devices: Disadvantages:

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

How to make money with apps?:

How to make money with apps? Apps supplement other revenue source Ex. iFixit Paid apps in Android Market Free, ad-supported apps in Android Market Ad networks (AdMob, Quattro Wireless) Sell your own ads Services to other developers Ex. Skyhook Wireless Contests (this class, Android Developer Challenge) Others?

Android Market:

Android Market Categories, downloads, comments Free/paid Limited search capability Featured apps on web http://www.android.com/market/ Market (and iTunes/App Store) Level playing field, allowing third-party apps Revenue sharing 350K apps in iTunes, 200K in Android

Publishing to Android Market:

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

Mobile Applications:

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:

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

Building and running:

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 (more details):

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

Applications Are Boxed:

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

Android Architecture:

Android Architecture

Quick Tour of Android:

Quick Tour of Android Common features: User Interface IO widgets (buttons, textboxes, lists) Images 2D/3D drawing Database Application lifecycle

Quick Tour of Android:

Quick Tour of Android Less common features: Google Maps Hardware APIs GPS/Geo-location, calls, accelerometer, compass, bluetooth, camera Multiple processes Managed by Android Dalvik VM Background Services Interprocess communications (e.g. Intents) No difference between third-party and native apps

Android Design Philosophy:

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

Leveraging the web:

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

Apple vs. Google:

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)

authorStream Live Help