SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Android Overview
Dr. Josh Dehlinger
Dr. Siddharth Kaza
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
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
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
Types of
Android
Devices
Various Android Phones
http://cloud.addictivetips.com/wp-content/uploads/2010/09/and
Galaxy Tablet
http://www.samsung.com/global/microsite/galaxytab/10.1/index.html
Android-Powered Microwave
http://www.pocket-lint.com/news/30712/android-powered-microwave-cooking-google
By Touch Revolution – at CES 2010
http://www.google.com/nexus/
Google/Samsung Galaxy Nexus
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 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
 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
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
Honeycomb
Android3.0-3.
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 Sandwic
Android 4.0+
The Android Developer
Website
 http://developer.android.com/index.html
 This should be your homepage for the next
semester!
Distribution of Devices
Data collected during a 14-day period ending on January 3, 2012
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 (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
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
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
 Development
process for an
Android app
http://developer.android.com/guide/developing/index.html
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
 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)
 Expand
figure
 Android Interface
Definition
Language (AIDL) –
Definitions to
exchange data
between
applications (think
SOAP)
http://developer.android.com/guide/de
veloping/building/index.html#detailed-
build
Android Asset Packing Tool
Allows processes across
apps to communicate.
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
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
 http://www.android.com/market/
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 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
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
 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
Other design principles
 http://developer.android.com/design/index.html
 Great reference!
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)

Weitere ähnliche Inhalte

Was ist angesagt?

Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Bala Subra
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile applicationMengChun Lam
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application developmentChandan Maurya
 
Latest Trends in Mobile App Development
Latest Trends in Mobile App DevelopmentLatest Trends in Mobile App Development
Latest Trends in Mobile App DevelopmentDipesh Mukerji
 
Android 12 features preview so far
Android 12 features preview so farAndroid 12 features preview so far
Android 12 features preview so farConcetto Labs
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android SynopsisNiraj Rahi
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Android Architecture and Working
Android Architecture and WorkingAndroid Architecture and Working
Android Architecture and WorkingAnkurVeer1
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentKrishnaMildain
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application DevelopmentTharindu Dassanayake
 

Was ist angesagt? (15)

Android 1
Android 1Android 1
Android 1
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile application
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
Latest Trends in Mobile App Development
Latest Trends in Mobile App DevelopmentLatest Trends in Mobile App Development
Latest Trends in Mobile App Development
 
Android 12 features preview so far
Android 12 features preview so farAndroid 12 features preview so far
Android 12 features preview so far
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
 
App development
App developmentApp development
App development
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Android Architecture and Working
Android Architecture and WorkingAndroid Architecture and Working
Android Architecture and Working
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
 
Android
AndroidAndroid
Android
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Mobile app
Mobile appMobile app
Mobile app
 

Ähnlich wie Android overview

Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedAhsanul Karim
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopMuthu Kumar
 
Android introduction
Android introductionAndroid introduction
Android introductionReena Nachare
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfimau6
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedAhsanul Karim
 
Android Technology
Android TechnologyAndroid Technology
Android TechnologyOmkar Tembe
 
Android.... (4.4 included)
Android.... (4.4 included)Android.... (4.4 included)
Android.... (4.4 included)ashish0019
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technologyMe CREATIONS
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidSwapnali Pawar
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018Rao Purna
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionCesar Augusto Nogueira
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfAbdullahMunir32
 

Ähnlich wie Android overview (20)

Android architecture
Android architectureAndroid architecture
Android architecture
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 
Introduction to Android Environment
Introduction to Android EnvironmentIntroduction to Android Environment
Introduction to Android Environment
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
presentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdfpresentation2-141101015616-conversion-gate01.pdf
presentation2-141101015616-conversion-gate01.pdf
 
Basic android
Basic androidBasic android
Basic android
 
Android overview part2
Android overview part2Android overview part2
Android overview part2
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting Started
 
Saminar ppt of
Saminar ppt ofSaminar ppt of
Saminar ppt of
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
 
Android.... (4.4 included)
Android.... (4.4 included)Android.... (4.4 included)
Android.... (4.4 included)
 
Android
AndroidAndroid
Android
 
ANDROID technology
ANDROID technologyANDROID technology
ANDROID technology
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018
 
First Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting IntroductionFirst Steps with Android - An Exciting Introduction
First Steps with Android - An Exciting Introduction
 
Mobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdfMobile Application Development-Lecture 03 & 04.pdf
Mobile Application Development-Lecture 03 & 04.pdf
 

Mehr von Bhavanislide2 (20)

ppsx2.ppsx
ppsx2.ppsxppsx2.ppsx
ppsx2.ppsx
 
format.potx
format.potxformat.potx
format.potx
 
Jittu
Jittu Jittu
Jittu
 
Mobile Do Not Delete.ppt
Mobile Do Not Delete.pptMobile Do Not Delete.ppt
Mobile Do Not Delete.ppt
 
Jittu
Jittu Jittu
Jittu
 
Jittu
Jittu Jittu
Jittu
 
title
titletitle
title
 
CREC List.docx
CREC List.docxCREC List.docx
CREC List.docx
 
9.EAACK---A-Secure-Intrusion-Detection-System-for-MANETs-pdf.pdf
9.EAACK---A-Secure-Intrusion-Detection-System-for-MANETs-pdf.pdf9.EAACK---A-Secure-Intrusion-Detection-System-for-MANETs-pdf.pdf
9.EAACK---A-Secure-Intrusion-Detection-System-for-MANETs-pdf.pdf
 
CREC List.docx
CREC List.docxCREC List.docx
CREC List.docx
 
CREC List.docx
CREC List.docxCREC List.docx
CREC List.docx
 
Must read
Must readMust read
Must read
 
Approval
ApprovalApproval
Approval
 
test
testtest
test
 
test
testtest
test
 
Fluentlenium Functional tests hang.pdf
Fluentlenium Functional tests hang.pdfFluentlenium Functional tests hang.pdf
Fluentlenium Functional tests hang.pdf
 
from app
from appfrom app
from app
 
docx
docxdocx
docx
 
potx
potxpotx
potx
 
format.odt.odt
format.odt.odtformat.odt.odt
format.odt.odt
 

Kürzlich hochgeladen

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Android overview

  • 1. Android Overview Dr. Josh Dehlinger Dr. Siddharth Kaza
  • 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 for wider distribution • It’s not 1984
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. Honeycomb Android3.0-3. 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 Sandwic Android 4.0+
  • 15. The Android Developer Website  http://developer.android.com/index.html  This should be your homepage for the next semester!
  • 16. Distribution of Devices Data collected during a 14-day period ending on January 3, 2012 http://developer.android.com/resources/dashboard/platform-versions.html
  • 17. 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
  • 18. Android Architecture More details at: http://developer.android.com/guide/basics/what-is-android.html
  • 19. 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
  • 20. 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
  • 21. 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
  • 22.  Development process for an Android app http://developer.android.com/guide/developing/index.html
  • 23. 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
  • 24. 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
  • 25. 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/de veloping/building/index.html#detailed- build Android Asset Packing Tool Allows processes across apps to communicate.
  • 26. 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
  • 28. 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
  • 29. Android Market  http://www.android.com/market/ 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
  • 30. 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
  • 31.
  • 32. 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
  • 33. 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
  • 34. Other design principles  http://developer.android.com/design/index.html  Great reference!
  • 35. 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)

Hinweis der Redaktion

  1. named after a robot in  Bladerunner
  2.   Open Handset Alliance , a consortium of 47  hardware ,  software , and  telecom  companies devoted to advancing  open standards  for mobile devices. Includes  Texas Instruments ,  Broadcom Corporation ,  Google , HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel and T-Mobile
  3. The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.
  4. Maybe more profitable with ads than actually selling the app