ONLC has trained over 240,000 student days over the past 21 years.

Android Programming Beyond the Basics Course, Class Outline

 (5 days)

Overview
This is an intensive one-week Android programming class for individuals who have experience with Android programming and/or have taken our Android Programming Basics course.

Our Android Training courses are a hands-on guide to designing and building mobile applications using Google's Android open-source platform. The course explains more advanced features of the Android programming environment, to create applications ready to rock the Android Market, help your enterprise, or give your firm an edge on the competition.

This hands-on course encourages students to learn by actually building increasingly more sophisticated and meaningful mobile applications for Android phones.

Duration
5 days

Objectives
Upon completion of this course, you will be able to:
• Tap into location and mapping APIs, to create location-aware applications
• Play back audio and video clips, local or streamed off of the Internet
• Integrate the WebKit browser into your application, for online help or controlled access to Internet content
• Get closer to the hardware via camera and sensor APIs
• Create content providers for sharing data between applications, and consume content created by other providers
• Create home screen widgets to keep your application front and center in the user's eyes
• Test your application and make it available to the world to use

Audience
This course is designed for software developers interested in designing, creating, deploying, and testing applications for the Android mobile phone platform. It is valuable to both novices and gurus, who already have experience in developing mobile applications for other platforms.

Java experience, and experience in the topics covered by the introductory Android course, is required to get the most benefit from this training.

Course Outline

Notifications
Role of notifications
Raising a notification
Augmenting notifications via hardware
Reacting to selected notifications
Handling multiple notification-worthy events
Twitter: user can specify “BFF”; service raises notification when update from BFF arrives

Location Tracking
Android's location tracking model
Getting updates as you move
Getting the latest fix
Proximity alerts
Choosing providers via criteria
Testing via DDMS
Twitter: add “L:30.010,-90.007”- style markup on user request to tweets, using current location

Maps
Rules and API keys
Adding a map, with center and zoom levels
Overlays and MyLocationOverlay
Custom overlays with push-pins
Zoom controls
Twitter: support public timeline; for updates with “L:30.010,-90.007”-style markup in any timeline, show location

Media
Supported audio formats
Simple media playback
Streaming audio
Supported video formats
Simple video playback
Streaming video
Twitter: add option to view “helpcast” on how to use the application, playing back a video

Integrating WebKit
Launching a standalone Browser activity
Adding a WebKit to your application
Loading local content
Controlling what happens on link clicks
Twitter: launch browser on intweet links; show “online help” from a local file

Advanced WebKit
Exposing Java code to Javascript
Calling back into Javascript from Java
Richer local content stores
Twitter: online help is customized with user info via injected Java

Advanced Lists
Header and footer views
Fancy separators
Composite lists: multiple sorts of contents
Custom selection logic
Twitter: add a custom selection bar

Animation
Theory of animation, XML, and Java
Translation animations
Alpha animations
Completion listeners
Acceleration interpolaters
Animation sets
Twitter: make the status update widgets show and hide based on a menu choice

Camera & Sensors
Taking pictures
Working with previews
Determining changes in orientation
Determining changes in acceleration
Applications: the “shake”
Applications: the “steering wheel”

Intent Filters
Role of filters
Intent-matching rules
Filters in your manifest
Filters in dynamic BroadcastReceivers
Twitter: publish status updates via broadcast Intents

Introspection
Picking a piece of content
Choosing an application for an Intent
Finding actions available for a piece of content

Using Content Providers
Content provider “MIME” types
Searching for content
Adding, changing, and removing content
Working with content files
Twitter: highlight tweets from people in your contacts

Creating Content Providers
About the ContentProvider façade
To database, or not to database?
Implementing the API
Supporting content files
Lab: publish the restaurants as a content provider

Searches
Integrate global (Web) search into your application
Enable your application for local search
Tie into the Quick Search Box

System Events
Starting your service on system boot
Connectivity status
Battery status
Twitter: poll less frequently when the battery is low

System Services
AlarmManager for periodic actions
WakeLocks for work done while phone is asleep
AudioManager for volume control
Twitter: poll via a scheduled alarm

Basic App Widgets
App widgets and Android security
Creating an AppWidgetProvider
Defining the metadata
Updating the app widget

Advanced App Widgets
Using an IntentService
Responding to widget clicks
Other update options: varying schedule, on click,on other event
UI framework integration (HTC Sense, MOTOBLUR)

Testing Instrumentation
Scripting your testing

Deployment
Code signing
Distributing through the Android Market
Distributing through alternative markets
Distributing through your own Web site
Manual distribution
Handling updates
Open Q&A on any Android development topic

View outline in Word

XANM01
Microsoft Gold Partner
Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Attend from your office or home

If travel is inconvenient you may be able to participate from your office or home.  If you have high-speed internet you can likely take this class from your office or home.

Need a class for a group?

We can deliver this class for a private group either at your location or ours. Click the link to request more information.

Sample Mailer Request our mailings


800-288-8221

Search for

SCHEDULE

Ready to Run
All Classes

Bookmark and Share


HAVE QUESTIONS?
First Name

Last Name

Company

Phone

Email

Location

Question/Comment



OTHER INFO
RCI Login
Registration
Locations/Directions
Classroom Rentals
CEU/CPE Credits
Privacy Policy
About Us
Contact Us