Android 101 Writing And Publishing Android Applications
-
Upload
gitesh-khodiyar -
Category
Technology
-
view
5.621 -
download
1
description
Transcript of Android 101 Writing And Publishing Android Applications
Android 101: Writing and Publishing Android Applications
@romannurik May 2010
Agenda
1. Writing your app
Platform features
Surfacing your UI
Intents
Speech, Location, Sensors
Native development
2. Publishing your app
Registering
Targeting
Buying & Selling
Other distribution types
Featuring and promotion
Writing your app
4
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
Android
5
Shipping 60K+ devices per day
More devices = more business
SDK supports: – Many screen sizes/resolutions – Screen density independence
Multiple Devices, Single App
6
~120 / ldpi ~160 / mdpi ~240 / hdpi
Small screen ~ ≤ 3.0”
Normal screen ~ ≤ 4.0”
Large screen ~ ≥ 4.8”
Multiple Devices, Single App
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/screens.html
Screen Size & Density Breakdown
8
An Android application is actually a collection of several components, each
defined in AndroidManifest.xml
Application Components
9
Activities
Services
Content Providers
Broadcast Receivers
Application Components
10
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
11
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
12
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
13
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
14
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
15
Launcher icons
Status bar notification
Widgets
Quick Search Box integration
Live Folders
Live Wallpapers
Surfacing your UI
16
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
Concurrent Applications
17
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)
Intents
18
Application B
Application A “Intent”
Apps can communicate with each other by providing and consuming each other’s Intents
Inter-App Communication
19
Example: Inter-App Communication
20
Enables voice-to-text capability
Invoke via IME or Intent
English, Mandarin Chinese & Japanese
Integrate with 3rd party speech recognition service
Speech Input
21
Example: Speech Input
22
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
Location and Mapping
23
Example: Location and Mapping
24
Camera
Microphone
Accelerometer
Compass
Example apps: Layar, Google Goggles
Hardware and Sensors
25
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
Native Development Kit (NDK)
26
developer.android.com
Getting Started
27
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!
Getting Started
28
Android has a strong, active developer base – Google Groups – Stack Overflow – IRC office hours
Developer Community
Publishing your app (in Android Market)
30
• Android SDK
• Development resources
• Developer Advocates
http://developer.android.com
• Create profile & register
• Developer Distribution Agreement
• Setup merchant account
http://market.android.com/publish/
• Sign & upload .apk
• Deployment options
• Marketing & promotions
1. Develop 2. Register 3. Publish
Publishing Android Apps
31
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
Publishing Android Apps
Registration
Basic Setup Contact information
One-time fee – no limit on number of
applications
Developer agreements – Developer Distribution
Agreement – Content Policy Guidelines
Distribution Countries Launched in major
markets throughout Americas, EMEA and JAPAC.
33
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
Targeting Options
Selling Android Apps
“Seller” Requirements Checkout merchant
account required
Developer collects 70% of application price
Transaction fee is equivalent to 30% of the application price; goes to operating costs.
“Seller” Countries 9 countries supported
– United States – United Kingdom – Austria, France, Germany,
Italy, Netherlands, Spain – Japan
4 currencies supported – USD ($) – GBP (£) – EUR (€) – JPY (¥)
Buying Android Apps
“Buyer” Requirements Google Checkout
account required
Methods of payment – Credit & Debit cards – Carrier billing (if available)
Purchased apps are tied to buyer’s Google account, may be installed unlimited times
24 hour refund period
“Buyer” Countries Americas
– Canada, United States
APAC – Japan, New Zealand
EMEA – Austria, France, Germany,
Italy, Netherlands, Spain, Switzerland, United Kingdom
36
Prices are listed in “Seller” currency
Confirmation to buy
Estimated price in “Buyer” currency
Choice in payment method
Buying Android Apps
37
37
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
Other Options for Distributing Apps
How to Increase Exposure
Market Ranking
Relevance
Downloads
Ratings
Retention
and other factors…
39
Getting Featured
Promotion Banner
Featuring and Promotion
40
Partner Device Launches
41
Events
Questions?
43
Monetize!
Auto display highest paying ads
Targeting – Keyword, demographics, location – Ad placement
Control ad appearance and positioning
AdSense for Mobile Applications SDK
44
Tracks install referrer
Tracks Pageviews & Events
Integrates with Google Analytics dashboard
Analytics Tracking for Mobile Apps
45
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
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%
Device Dashboard
46
Android, Google are registered trademarks of Google Inc.
All other trademarks and copyrights are the property of their respective owners.
Copyrights and Trademarks