SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Android 101:
Writing and
Publishing Android
Applications

@romannurik
May 2010
Agenda

1. Writing your app     2. Publishing your app

  Platform features      Registering

  Surfacing your UI      Targeting

  Intents                Buying & Selling

  Speech, Location,      Other distribution types
   Sensors
                          Featuring and promotion
  Native development
Writing your app
Android

  Android is an open platform, and it’s
   open source
  Develop mostly in Java and XML
  –  C/C++ for Native development (NDK)

  Replace the core apps with your own
  Source code available
  –  SDK and core apps
  –  http://source.android.com
                                           4
Multiple Devices, Single App

  Shipping 60K+ devices per day
  More devices = more business
  SDK supports:
  –  Many screen sizes/resolutions
  –  Screen density independence




                                     5
Multiple Devices, Single App

                  ~120 / ldpi   ~160 / mdpi   ~240 / hdpi



  Small screen
      ~ ≤ 3.0”




Normal screen
      ~ ≤ 4.0”




  Large screen
       ~ ≥ 4.8”

                                                            6
Screen Size & Density Breakdown




Note: This data is based on the number of Android devices that have accessed
Android Market within a 14-day period ending on May 17th 2010

http://developer.android.com/resources/dashboard/screens.html
                                                                               7
Application Components




    An Android application is actually a
  collection of several components, each
   defined in AndroidManifest.xml



                                           8
Application Components

  Activities
  Services
  Content Providers
  Broadcast Receivers




                         9
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             10
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             11
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             12
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             13
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             14
Surfacing your UI

  Launcher icons
  Status bar notification
  Widgets
  Quick Search Box
   integration
  Live Folders
  Live Wallpapers
                             15
Concurrent Applications

  Users can multitask
  –  Apps get paused, not closed

  Background services
  –  Invisible apps with no GUI
  –  Unobtrusive event notifications
  –  Listen to music and check
     email simultaneously



                                       16
Intents

  Intents “link” activities, services, and
   receivers together
  Intents consists of
  –  An action (i.e. ACTION_VIEW)
  –  Categories (i.e. CATEGORY_DEFAULT)
  –  A URI (i.e. content://contacts/people/123)
  –  “Extras” metadata

  Intents can also be to hard-coded class
   names (com.foo.FooActivity)
                                              17
Inter-App Communication

  Apps can communicate with each other
   by providing and consuming each
   other’s Intents


      Application              Application
           A        “Intent”        B




                                             18
Example: Inter-App Communication




                                   19
Speech Input

  Enables voice-to-text capability
  Invoke via IME or Intent
  English, Mandarin Chinese & Japanese
  Integrate with 3rd party speech
   recognition service



                                          20
Example: Speech Input




                        21
Location and Mapping

  LocationManager
  –  Service determines location and bearing
  –  Register for periodic updates by time
  –  Register for proximity updates by distance

  Google Maps library
  –  Includes MapView
  –  Programmatic access to Google Maps API
  –  Handles user interaction to control Map


                                                  22
Example: Location and Mapping




                                23
Hardware and Sensors

  Camera
  Microphone
  Accelerometer
  Compass
  Example apps:
   Layar, Google Goggles

                           24
Native Development Kit (NDK)

  Used in conjunction with the SDK
  Performance-critical, C/C++ code
  Just launched NDK r3
  –  Support for OpenGL ES 2.0
  –  Compact, efficient binaries

  Typical uses:
  –  Games
  –  Re-use existing C/C++ code base
                                       25
Getting Started




 developer.android.com


                         26
Getting Started

1.  Download the SDK
2.  Install Eclipse and ADT
3.  Look through tutorials and samples
4.  Run them on the emulator or your
    device
5.  Write your app!

                                         27
Developer Community

  Android has a strong, active developer
   base
  –  Google Groups
  –  Stack Overflow
  –  IRC office hours




                                            28
Publishing your app
(in Android Market)
Publishing Android Apps


 1. Develop                       2. Register                       3. Publish

http://developer.android.com   http://market.android.com/publish/




        • Android SDK                  • Create profile             • Sign &
                                         & register                   upload .apk
        • Development
          resources                    • Developer                  • Deployment
                                         Distribution                 options
        • Developer
                                         Agreement
          Advocates                                                 • Marketing &
                                       • Setup merchant               promotions
                                         account                                    30
Publishing Android Apps

  Upload at any time, as
   many times as you want

  Publish whenever you are
   ready

  Users have access to app
   right away

  Update app at any time



                              31
Registration

Basic Setup                       Distribution Countries
  Contact information              Launched in major
                                     markets throughout
  One-time fee                      Americas, EMEA and
   –  no limit on number of
      applications
                                     JAPAC.

  Developer agreements
   –  Developer Distribution
      Agreement
   –  Content Policy Guidelines
Targeting Options

  Device capabilities
  –  SDK level: Minimum and Maximum
  –  Screen size: Small, Normal, Large

  Location
  –  Target countr(ies)
  –  Operator(s) (if applicable)
  –  Matched to user’s service provider



                                          33
Selling Android Apps

“Seller” Requirements           “Seller” Countries
  Checkout merchant              9 countries supported
   account required                –  United States
                                   –  United Kingdom
  Developer collects 70%          –  Austria, France, Germany,
                                      Italy, Netherlands, Spain
   of application price            –  Japan

  Transaction fee is             4 currencies supported
   equivalent to 30% of the        –    USD ($)
   application price; goes to      –    GBP (£)
   operating costs.                –    EUR (€)
                                   –    JPY (¥)
Buying Android Apps

“Buyer” Requirements                   “Buyer” Countries
  Google Checkout                       Americas
   account required                      –  Canada, United States

  Methods of payment                    APAC
   –  Credit & Debit cards               –  Japan, New Zealand
   –  Carrier billing (if available)
                                         EMEA
  Purchased apps are tied               –  Austria, France, Germany,
                                            Italy, Netherlands, Spain,
   to buyer’s Google
                                            Switzerland, United
   account, may be installed                Kingdom
   unlimited times

  24 hour refund period
Buying Android Apps

Prices are listed in   Confirmation to   Estimated price in   Choice in payment
“Seller” currency            buy         “Buyer” currency          method




                                                                          36
Other Options for Distributing Apps

  USB side-loading via
   Android Debug Bridge
   (adb)
  –  Useful in development and
     debugging

  Download from website
  –  Useful for private
     distribution
  –  Website may be access
     controlled
                                      37
                                           37
How to Increase Exposure

   Market Ranking

                      Relevance

                      Downloads

                      Ratings

                      Retention

                      and other factors…
Featuring and Promotion




                Promotion
                 Banner


                 Getting
                Featured



                            39
Partner Device Launches




                          40
Events




         41
Questions?
AdSense for Mobile Applications SDK

  Monetize!
  Auto display highest paying ads
  Targeting
  –  Keyword, demographics, location
  –  Ad placement

  Control ad appearance and positioning


                                           43
Analytics Tracking for Mobile Apps

  Tracks install referrer
  Tracks Pageviews & Events
  Integrates with Google Analytics
   dashboard




                                      44
Device Dashboard

                                                     Version              % of Devices
                                                     1.5 (API Level 3)       34.1%
                                                     1.6 (API Level 4)       28.0%
                                                     2.1 (API Level 7)       37.2%
                                                     Other                     0.7%




Note: This data is based on the number of Android devices that have accessed
Android Market within a 14-day period ending on May 17th 2010

http://developer.android.com/resources/dashboard/platform-versions.html
                                                                                      45
Copyrights and Trademarks

  Android, Google are registered
   trademarks of Google Inc.
  All other trademarks and copyrights are
   the property of their respective owners.




                                              46

Weitere ähnliche Inhalte

Was ist angesagt?

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
microsoft windows phone for government and citizens
microsoft  windows phone for government and citizensmicrosoft  windows phone for government and citizens
microsoft windows phone for government and citizensjoelcitizen
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Marco Tabor
 
Windows Phone Code Camp Montreal - An introduction to Windows Phone development
Windows Phone Code Camp Montreal - An introduction to Windows Phone developmentWindows Phone Code Camp Montreal - An introduction to Windows Phone development
Windows Phone Code Camp Montreal - An introduction to Windows Phone developmentFrédéric Harper
 
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSLUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSMicrosoft Mobile Developer
 
AppDok from AdoMado
AppDok from AdoMadoAppDok from AdoMado
AppDok from AdoMadoSameer Jain
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
 
Mobile app developers guide
Mobile app developers guideMobile app developers guide
Mobile app developers guidePrayukth K V
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMarco Tabor
 
Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10Marco Tabor
 
Android game development
Android game developmentAndroid game development
Android game developmentOlivia2590
 
Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapJames Cameron
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiJoachim Ritter
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionMarco Tabor
 
Mobile Developer's Guide To The Galaxy 11th edition
Mobile Developer's Guide To The Galaxy 11th editionMobile Developer's Guide To The Galaxy 11th edition
Mobile Developer's Guide To The Galaxy 11th editionMarco Tabor
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Marco Tabor
 
How to develop a top 10 newspaper ipad app
How to develop a top 10 newspaper ipad appHow to develop a top 10 newspaper ipad app
How to develop a top 10 newspaper ipad appJavier Lasa
 
Mobile App Development Challenges
Mobile App Development ChallengesMobile App Development Challenges
Mobile App Development ChallengesMobinex
 

Was ist angesagt? (20)

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
microsoft windows phone for government and citizens
microsoft  windows phone for government and citizensmicrosoft  windows phone for government and citizens
microsoft windows phone for government and citizens
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6
 
Windows Phone Code Camp Montreal - An introduction to Windows Phone development
Windows Phone Code Camp Montreal - An introduction to Windows Phone developmentWindows Phone Code Camp Montreal - An introduction to Windows Phone development
Windows Phone Code Camp Montreal - An introduction to Windows Phone development
 
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSLUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
 
AppDok from AdoMado
AppDok from AdoMadoAppDok from AdoMado
AppDok from AdoMado
 
Samsung's smartphone operating system: bada
Samsung's smartphone operating system: badaSamsung's smartphone operating system: bada
Samsung's smartphone operating system: bada
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
Mobile app developers guide
Mobile app developers guideMobile app developers guide
Mobile app developers guide
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th edition
 
Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10
 
Android game development
Android game developmentAndroid game development
Android game development
 
Mobile development
Mobile development Mobile development
Mobile development
 
Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snap
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGi
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Mobile Developer's Guide To The Galaxy 11th edition
Mobile Developer's Guide To The Galaxy 11th editionMobile Developer's Guide To The Galaxy 11th edition
Mobile Developer's Guide To The Galaxy 11th edition
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9
 
How to develop a top 10 newspaper ipad app
How to develop a top 10 newspaper ipad appHow to develop a top 10 newspaper ipad app
How to develop a top 10 newspaper ipad app
 
Mobile App Development Challenges
Mobile App Development ChallengesMobile App Development Challenges
Mobile App Development Challenges
 

Ähnlich wie Android 101 Writing And Publishing Android Applications

Entering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemEntering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemRIA RUI Society
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To androidZaid Khan
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Rosalie Lauren
 
Learn Android app development in easy steps
Learn Android app development in easy stepsLearn Android app development in easy steps
Learn Android app development in easy stepsMobile Pundits
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programmingPERKYTORIALS
 
Android Interview Questions
Android Interview QuestionsAndroid Interview Questions
Android Interview QuestionsGaurav Mehta
 
GDSC Android Development Workshop Presentation
GDSC Android Development Workshop PresentationGDSC Android Development Workshop Presentation
GDSC Android Development Workshop Presentationgdsclavasa
 
Mobile or Web First?
Mobile or Web First? Mobile or Web First?
Mobile or Web First? Bernard Leong
 
Unit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assUnit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assARVIND SARDAR
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1ShepHertz
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptxridzah12
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...ReformedTech
 
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery? A Step-by-Step GuidebookDo You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery? A Step-by-Step GuidebookDistanceCodingAgency
 
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery: A Step-by-Step GuidebookDo You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebookbill886381
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app developmentAbhishekKumar4779
 

Ähnlich wie Android 101 Writing And Publishing Android Applications (20)

Entering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemEntering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystem
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?
 
Learn Android app development in easy steps
Learn Android app development in easy stepsLearn Android app development in easy steps
Learn Android app development in easy steps
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Android Interview Questions
Android Interview QuestionsAndroid Interview Questions
Android Interview Questions
 
Android interview questions
Android interview questionsAndroid interview questions
Android interview questions
 
GDSC Android Development Workshop Presentation
GDSC Android Development Workshop PresentationGDSC Android Development Workshop Presentation
GDSC Android Development Workshop Presentation
 
Mobile or Web First?
Mobile or Web First? Mobile or Web First?
Mobile or Web First?
 
Unit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-assUnit 1-android-and-its-tools-ass
Unit 1-android-and-its-tools-ass
 
Android-GDSC.pptx
Android-GDSC.pptxAndroid-GDSC.pptx
Android-GDSC.pptx
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Android by LAlitha
Android by LAlithaAndroid by LAlitha
Android by LAlitha
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptx
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Android
AndroidAndroid
Android
 
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery? A Step-by-Step GuidebookDo You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
 
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery: A Step-by-Step GuidebookDo You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
 

Kürzlich hochgeladen

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Android 101 Writing And Publishing Android Applications

  • 1. Android 101: Writing and Publishing Android Applications @romannurik May 2010
  • 2. Agenda 1. Writing your app 2. Publishing your app   Platform features   Registering   Surfacing your UI   Targeting   Intents   Buying & Selling   Speech, Location,   Other distribution types Sensors   Featuring and promotion   Native development
  • 4. Android   Android is an open platform, and it’s open source   Develop mostly in Java and XML –  C/C++ for Native development (NDK)   Replace the core apps with your own   Source code available –  SDK and core apps –  http://source.android.com 4
  • 5. Multiple Devices, Single App   Shipping 60K+ devices per day   More devices = more business   SDK supports: –  Many screen sizes/resolutions –  Screen density independence 5
  • 6. Multiple Devices, Single App ~120 / ldpi ~160 / mdpi ~240 / hdpi Small screen ~ ≤ 3.0” Normal screen ~ ≤ 4.0” Large screen ~ ≥ 4.8” 6
  • 7. Screen Size & Density Breakdown Note: This data is based on the number of Android devices that have accessed Android Market within a 14-day period ending on May 17th 2010 http://developer.android.com/resources/dashboard/screens.html 7
  • 8. Application Components An Android application is actually a collection of several components, each defined in AndroidManifest.xml 8
  • 9. Application Components   Activities   Services   Content Providers   Broadcast Receivers 9
  • 10. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 10
  • 11. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 11
  • 12. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 12
  • 13. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 13
  • 14. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 14
  • 15. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 15
  • 16. Concurrent Applications   Users can multitask –  Apps get paused, not closed   Background services –  Invisible apps with no GUI –  Unobtrusive event notifications –  Listen to music and check email simultaneously 16
  • 17. Intents   Intents “link” activities, services, and receivers together   Intents consists of –  An action (i.e. ACTION_VIEW) –  Categories (i.e. CATEGORY_DEFAULT) –  A URI (i.e. content://contacts/people/123) –  “Extras” metadata   Intents can also be to hard-coded class names (com.foo.FooActivity) 17
  • 18. Inter-App Communication   Apps can communicate with each other by providing and consuming each other’s Intents Application Application A “Intent” B 18
  • 20. Speech Input   Enables voice-to-text capability   Invoke via IME or Intent   English, Mandarin Chinese & Japanese   Integrate with 3rd party speech recognition service 20
  • 22. Location and Mapping   LocationManager –  Service determines location and bearing –  Register for periodic updates by time –  Register for proximity updates by distance   Google Maps library –  Includes MapView –  Programmatic access to Google Maps API –  Handles user interaction to control Map 22
  • 23. Example: Location and Mapping 23
  • 24. Hardware and Sensors   Camera   Microphone   Accelerometer   Compass   Example apps: Layar, Google Goggles 24
  • 25. Native Development Kit (NDK)   Used in conjunction with the SDK   Performance-critical, C/C++ code   Just launched NDK r3 –  Support for OpenGL ES 2.0 –  Compact, efficient binaries   Typical uses: –  Games –  Re-use existing C/C++ code base 25
  • 27. Getting Started 1.  Download the SDK 2.  Install Eclipse and ADT 3.  Look through tutorials and samples 4.  Run them on the emulator or your device 5.  Write your app! 27
  • 28. Developer Community   Android has a strong, active developer base –  Google Groups –  Stack Overflow –  IRC office hours 28
  • 29. Publishing your app (in Android Market)
  • 30. Publishing Android Apps 1. Develop 2. Register 3. Publish http://developer.android.com http://market.android.com/publish/ • Android SDK • Create profile • Sign & & register upload .apk • Development resources • Developer • Deployment Distribution options • Developer Agreement Advocates • Marketing & • Setup merchant promotions account 30
  • 31. Publishing Android Apps   Upload at any time, as many times as you want   Publish whenever you are ready   Users have access to app right away   Update app at any time 31
  • 32. Registration Basic Setup Distribution Countries   Contact information   Launched in major markets throughout   One-time fee Americas, EMEA and –  no limit on number of applications JAPAC.   Developer agreements –  Developer Distribution Agreement –  Content Policy Guidelines
  • 33. Targeting Options   Device capabilities –  SDK level: Minimum and Maximum –  Screen size: Small, Normal, Large   Location –  Target countr(ies) –  Operator(s) (if applicable) –  Matched to user’s service provider 33
  • 34. Selling Android Apps “Seller” Requirements “Seller” Countries   Checkout merchant   9 countries supported account required –  United States –  United Kingdom   Developer collects 70% –  Austria, France, Germany, Italy, Netherlands, Spain of application price –  Japan   Transaction fee is   4 currencies supported equivalent to 30% of the –  USD ($) application price; goes to –  GBP (£) operating costs. –  EUR (€) –  JPY (¥)
  • 35. Buying Android Apps “Buyer” Requirements “Buyer” Countries   Google Checkout   Americas account required –  Canada, United States   Methods of payment   APAC –  Credit & Debit cards –  Japan, New Zealand –  Carrier billing (if available)   EMEA   Purchased apps are tied –  Austria, France, Germany, Italy, Netherlands, Spain, to buyer’s Google Switzerland, United account, may be installed Kingdom unlimited times   24 hour refund period
  • 36. Buying Android Apps Prices are listed in Confirmation to Estimated price in Choice in payment “Seller” currency buy “Buyer” currency method 36
  • 37. Other Options for Distributing Apps   USB side-loading via Android Debug Bridge (adb) –  Useful in development and debugging   Download from website –  Useful for private distribution –  Website may be access controlled 37 37
  • 38. How to Increase Exposure Market Ranking   Relevance   Downloads   Ratings   Retention   and other factors…
  • 39. Featuring and Promotion Promotion Banner Getting Featured 39
  • 41. Events 41
  • 43. AdSense for Mobile Applications SDK   Monetize!   Auto display highest paying ads   Targeting –  Keyword, demographics, location –  Ad placement   Control ad appearance and positioning 43
  • 44. Analytics Tracking for Mobile Apps   Tracks install referrer   Tracks Pageviews & Events   Integrates with Google Analytics dashboard 44
  • 45. Device Dashboard Version % of Devices 1.5 (API Level 3) 34.1% 1.6 (API Level 4) 28.0% 2.1 (API Level 7) 37.2% Other 0.7% Note: This data is based on the number of Android devices that have accessed Android Market within a 14-day period ending on May 17th 2010 http://developer.android.com/resources/dashboard/platform-versions.html 45
  • 46. Copyrights and Trademarks   Android, Google are registered trademarks of Google Inc.   All other trademarks and copyrights are the property of their respective owners. 46