Course Summary
Advanced Android™ training class is taking mobile application development to the next level. You will learn how to create custom widgets, create animations, work with camera, use sensors, create and use advanced content providers and much more. The course goes into testing and deployment of Android applications as well.
Duration
2 days.
Audience

Familiarity with basic Android development practices. We recommend participants have taken Intro to Android™ Training Course or equivalent.
This course is also part of the Android Bootcamp.
Additional Notes
About Your Instructor

Marko Gargenta has been programming in Java even before it was named Java. His background is in very large enterprise web application development but he's also had a fair-share of UI experience having rewritten the entire AWT into lightweight components before Java Swing ever came out. He's a big believer in agile development processes, being a certified ScrumMaster himself as well as contributor to eXtreme Programming methodology.
Marko is a professional consultant and instructor. He's taught teams of organizations such as Sony-Ericsson, Ericsson Canada, MetroPCS, Experian, DoJ, DoD, and many others. He's published a PHP/MySQL by Example book with Prentice Hall (world's largest tech publisher) as well as created many of Marakana's courseware, including the Android series.
30,000-foot Overview of Android
A high level overview of the Google's Android Platform, presented by Marko Gargenta from Marakana at OSCON 2009
Android Meetup Group Organized by Marakana
Marakana team organizes and runs the San Francisco Android Users' Group - an interactive group of Android developers. In our monthly meetings, we discuss Android landscape from both technology and business angles. We often have great presentations by industry experts, group discussions, as well as hands-on sessions. If you are in San Francisco Bay Area, we encourage you to join the group and meet other Android developers.
Trademark Notice
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Outline
Custom Content Providers
- Why Content Providers
- Where the content comes from
- Implementing the API Supporting content files
Location Services
- Working with the Location Manager
- Working with Google Maps extensions
Services
- Overview of services in Android
- Implementing a Service
- Service lifecycle
- Bound versus unbound services
Broadcast Receivers
- What are Broadcast Receivers
- Implementing broadcast receiver
- System broadcasts and how to use them
Intent Filters
- Role of filters
- Intent-matching rules
- Filters in your manifest
- Filters in dynamic Broadcast Receivers
Networking
- Working with web services
- Best practices
Sensors
- How Sensors work
- Listening to Sensor readings
- Best practices for performance
WiFi
- Monitoring and managing Internet connectivity
- Managing active connections
- Managing WiFi
Telephony
- Making calls
- Monitoring data connectivity and activity
- Accessing phone properties and status
- Controlling the phone
Camera
- Taking pictures
- Rendering previews
Bluetooth
- Controlling local Bluetooth device
- Discovering and bonding with Bluetooth devices
- Managing Bluetooth connections
- Communicating with Bluetooth
Automated Testing
- Why automate tests
- Instrumentation and unit testing