Android 101 Writing And Publishing Android Applications

5,975 views

Published on

Android 101: Writing and Publishing Android Applications presented at the the first bootcamp at Google IO 2010. Presenter: Roman Nurik from the Android Development Team.

Published in: Technology, Education
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,975
On SlideShare
0
From Embeds
0
Number of Embeds
103
Actions
Shares
0
Downloads
288
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Android 101 Writing And Publishing Android Applications

  1. 1. Android 101: Writing and Publishing Android Applications @romannurik May 2010
  2. 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
  3. 3. Writing your app
  4. 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. 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. 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. 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. 8. Application Components An Android application is actually a collection of several components, each defined in AndroidManifest.xml 8
  9. 9. Application Components   Activities   Services   Content Providers   Broadcast Receivers 9
  10. 10. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 10
  11. 11. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 11
  12. 12. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 12
  13. 13. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 13
  14. 14. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 14
  15. 15. Surfacing your UI   Launcher icons   Status bar notification   Widgets   Quick Search Box integration   Live Folders   Live Wallpapers 15
  16. 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. 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. 18. Inter-App Communication   Apps can communicate with each other by providing and consuming each other’s Intents Application Application A “Intent” B 18
  19. 19. Example: Inter-App Communication 19
  20. 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
  21. 21. Example: Speech Input 21
  22. 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. 23. Example: Location and Mapping 23
  24. 24. Hardware and Sensors   Camera   Microphone   Accelerometer   Compass   Example apps: Layar, Google Goggles 24
  25. 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
  26. 26. Getting Started developer.android.com 26
  27. 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. 28. Developer Community   Android has a strong, active developer base –  Google Groups –  Stack Overflow –  IRC office hours 28
  29. 29. Publishing your app (in Android Market)
  30. 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. 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. 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. 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. 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. 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. 36. Buying Android Apps Prices are listed in Confirmation to Estimated price in Choice in payment “Seller” currency buy “Buyer” currency method 36
  37. 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. 38. How to Increase Exposure Market Ranking   Relevance   Downloads   Ratings   Retention   and other factors…
  39. 39. Featuring and Promotion Promotion Banner Getting Featured 39
  40. 40. Partner Device Launches 40
  41. 41. Events 41
  42. 42. Questions?
  43. 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. 44. Analytics Tracking for Mobile Apps   Tracks install referrer   Tracks Pageviews & Events   Integrates with Google Analytics dashboard 44
  45. 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. 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

×