SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (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
Motorola 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 citizens
joelcitizen
 
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
Marco 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 development
Fré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 DEVELOPERS
Microsoft Mobile Developer
 
AppDok from AdoMado
AppDok from AdoMadoAppDok from AdoMado
AppDok from AdoMado
Sameer Jain
 
Samsung's smartphone operating system: bada
Samsung's smartphone operating system: badaSamsung's smartphone operating system: bada
Samsung's smartphone operating system: bada
Samsung Economic Research Institute
 
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
Marco Tabor
 
Mobile app developers guide
Mobile app developers guideMobile app developers guide
Mobile app developers guide
Prayukth 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 edition
Marco 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.10
Marco Tabor
 
Android game development
Android game developmentAndroid game development
Android game development
Olivia2590
 
Mobile development
Mobile development Mobile development
Mobile development
Fabrice Drukman
 
Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snap
James Cameron
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGi
Joachim 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 edition
Marco 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 edition
Marco 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. 9
Marco 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 app
Javier Lasa
 
Mobile App Development Challenges
Mobile App Development ChallengesMobile App Development Challenges
Mobile App Development Challenges
Mobinex
 
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
Motorola 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 citizens
joelcitizen
 
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
Marco 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 development
Fré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 DEVELOPERS
Microsoft Mobile Developer
 
AppDok from AdoMado
AppDok from AdoMadoAppDok from AdoMado
AppDok from AdoMado
Sameer 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.7
Marco Tabor
 
Mobile app developers guide
Mobile app developers guideMobile app developers guide
Mobile app developers guide
Prayukth 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 edition
Marco 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.10
Marco Tabor
 
Android game development
Android game developmentAndroid game development
Android game development
Olivia2590
 
Camerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snapCamerjam mobile marketing masterclass 12snap
Camerjam mobile marketing masterclass 12snap
James Cameron
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGi
Joachim 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 edition
Marco 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 edition
Marco 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. 9
Marco 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 app
Javier Lasa
 
Mobile App Development Challenges
Mobile App Development ChallengesMobile App Development Challenges
Mobile App Development Challenges
Mobinex
 

Similar to 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
RIA RUI Society
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
Zaid 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 steps
Mobile Pundits
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Android Interview Questions
Android Interview QuestionsAndroid Interview Questions
Android Interview Questions
Gaurav Mehta
 
Android interview questions
Android interview questionsAndroid interview questions
Android interview questions
pasalasuneelkumar
 
GDSC Android Development Workshop Presentation
GDSC Android Development Workshop PresentationGDSC Android Development Workshop Presentation
GDSC Android Development Workshop Presentation
gdsclavasa
 
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-ass
ARVIND SARDAR
 
Android-GDSC.pptx
Android-GDSC.pptxAndroid-GDSC.pptx
Android-GDSC.pptx
SayaliNalawade1
 
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
ShepHertz
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
Pragnesh Vaghela
 
Android by LAlitha
Android by LAlithaAndroid by LAlitha
Android by LAlitha
Lally 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
ridzah12
 
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
 
Android
AndroidAndroid
Android
Darshini Parikh
 
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
bill886381
 
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
DistanceCodingAgency
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
AbhishekKumar4779
 
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
RIA RUI Society
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
Zaid 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 steps
Mobile Pundits
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Android Interview Questions
Android Interview QuestionsAndroid Interview Questions
Android Interview Questions
Gaurav Mehta
 
GDSC Android Development Workshop Presentation
GDSC Android Development Workshop PresentationGDSC Android Development Workshop Presentation
GDSC Android Development Workshop Presentation
gdsclavasa
 
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-ass
ARVIND 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.1
ShepHertz
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
Pragnesh 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.pptx
ridzah12
 
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 Guidebook
bill886381
 
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
DistanceCodingAgency
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
AbhishekKumar4779
 
Ad

Recently uploaded (20)

Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Ad

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