SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
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
 
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
 

Dernier (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
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)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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
 
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
 
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
 

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