Android Programming Training

Course Description  
Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android training course teaches students the architecture, API and techniques to create robust, high performance and appealing applications for the Android devices. While many classes focus on the mobile device, this course also deals with the server side architecture. This makes the class ideal for enterprise class businesses. After taking this Android training course, students will be able to build robust and high performance applications for the enterprises.

Course Length: 5 Days
Course Tuition: $2450 (US)
Prerequisites
Introduction to Java or equivalent experience is required
Course Outline  

Chapter 1. Introduction to Android
  What is Android?
A Short History
Advantages of Android
Disadvantages of Android
Q1 2010 Global Market Share
Q2 2010 Global Market Share
US Only Market Share - All Subscribers
US Only Market Share – New Subscribers
Android Carriers
References
Summary
 
 
Chapter 2. The Architecture of Android
  Key Components Stack
The Kernel
Libraries
The Dalvik JVM
Application Framework
Applications
Summary
 
 
Chapter 3. The Development Environment
  What Do We Need?
Setting Up the SDK
Install Eclipse Plugin
Create a Virtual Device
Creating a Project
Running Your Application
Android Hardware Buttons
Run Configuration
Debugging an Application
Using Third Party JAR
Creating Reusable Library
Dalvik Debug Monitor Server (DDMS)
DDMS Tools in Eclipse
The Console Views
Developing for Multiple Android Versions
Summary
 
 
Chapter 4. Application Fundamentals
  Recapping The Basics
Packaging an Application
Application Reusability Architecture
The Manifest File
Activity
Creating an Activity Class
Activity Lifecycle
Launching an Activity
Pausing and Stopping an Activity
Destroying an Activity
Saving State
Creating Views
Registering an Activity
The Default Activity
Process Lifecycle
The Application Class
The Application Context
Summary
 
 
Chapter 5. Basic GUI Programming
  The Fundamentals
View Hierarchy
Creating Views Programmatically
Creating View in XML Layout
More on XML Layout
Common Programming Tasks with Views
TextView and EditText
Button
CheckBox
RadioButton and RadioGroup
ToggleButton
ImageView
RatingBar
Summary
 
 
Chapter 6. Layout Management
  Background
LinearLayout
LinearLayout Orientation
match_parent (fill_parent) Example
Layout Gravity
Weight
TableLayout
Managing the Width
RelativeLayout
RelativeLayout Example
ScrollView
HorizontalScrollView
Summary
 
 
Chapter 7. Resource Management and Localization
  Introduction
Main Types of Resources
Defining Value Resources
Defining String Arrays
Creating Image Resource
Alternate Resource Folders
Alternate Folder Name Rules
How Android Finds Resources
Dealing with Screen Orientation
Orientation Change and Activity Lifecycle
Developing for Tablets
Basics of Localization
Testing for Localization
Loading Localized String from Code
Summary
 
 
Chapter 8. Intents and Intent Filters
  What is an Intent?
The android.content.Intent Class
Explicitly Specifying Component's Class
Example: An Activity Launching Another Activity
Implicit Target Component Specification
Intent Filters
Data Type Filter
Action Name
Category Name
Hint Matching Logic
Example Hint Matching – 1
Example Hint Matching – 2
Default Component of an Application
Starting an Activity
Getting Output from Activity
Example of Launcher: ActivityA
Example of Launched: ActivityB
Pending Intent
Summary
 
 
Chapter 9. Application Menu
  Introduction
Defining Menu Items
Menu XML File
Option Menu
Populating Menu Items from Resource
Manipulating Menu Items
Handling Menu Item Click Event
Context Menu
Showing a Context Menu
Handling Context Menu Item Click
Summary
 
 
Chapter 10. Showing Notification Messages
  Introduction
Toast
Popping a Toast
Advanced Toast
Status Bar Notification
Advantages of Status Bar Notification
Steps to Create a Status Bar Notification
Posting the Notification
Using a Utility Method
Additional Notes
Using Dialogs
AlertDialog
Handling Button Click Events
ProgressDialog
Setting Progress Amount
Summary
 
 
Chapter 11. Advanced GUI Development
  Spinner View
Creating a Spinner
Handling Item Selection Event
The ListView
Creating a ListView
Handling ListView Events
The Adapter Model
Custom Adapter Class
Example Adapter
Using an Adapter
Using a Custom Row Layout
ViewFlipper
Tabbed UI Layout
Creating Tabbed UI
Defining the Tabbed Layout
Creating the Tabs with View Content
Add a Tab with Activity Content
WebView
WebView Methods
Summary
 
 
Chapter 12. Data Storage
  Data Storage Options
Data Privacy
Shared Preferences
Modifying Shared Preferences
Shared Preferences Example
Default Preferences
Editing Preferences
Example: Editing Preferences
Internal Storage
Example: Write to Internal Storage
Example: Read from Internal Storage
Private Directory
Cache Directory
Example: Writing to Cache File
External Storage
Checking State of External Storage
Working with Files in External Storage
Example: Writing to External Storage
Shipping Files with the Application
Working with Raw Resource Files
Working with Asset Files
Summary
 
 
Chapter 13. SQL Database Storage
  Introduction
Opening a Database Connection
Transaction Management
A Pattern for Connection and Transaction Handling
Creating Schema
Compiled SQL Statement
Inserting Data
Updating Data
Deleting Data
Fetching Data
Example Queries
Iterating Over a Cursor
Reading Column Values from Cursor
A Complete Example
Cursor Management
Binding Cursor to ListView
Custom Data Binding
Handling Item Click Event
Refreshing the ListView
Schema Creation Issues
Example Helper Class
Using the Helper Class
Summary
 
 
Chapter 14. Content Provider
  Introduction
Use of URL
The Structure of Data
MIME Type
Creating a Content Provider
Implement the query() Method
Example query() Method
Implement the insert() Method
Example insert() Method
The update() and delete() Methods
Implement getType()
Registering a Provider
Writing a Data Consumer
Performing a Query
Example Query by a Consumer
Example: Inserting Record
Summary
 
 
Chapter 15. Network Programming
  Introduction
Communication Using HTTP Protocol
Creating a HttpClient Object
Making a GET Request
Making a POST Request
Setting Timeout
Using Basic Authentication
Using Custom Authentication
XML Parsing Options
Setting Up XML Pull Parser
The Main Loop
Example XML Document
Example Parsing Code
Checking Network Status
Summary
 
 
Chapter 16. Background Task Processing and Service
  Introduction
The Handler Framework
The Basic Approach
Creating a Handler
Posting a Message
Doing Background Work
AsyncTask
Doing the Work
Starting Work
Getting Result from the Task
Updating GUI From the Task
Ending the Task
What is a Service?
Creating a Service
Example Service Class
Starting and Stopping a Service
Starting Long Running Work
Sending Control Messages to a Service
Usability Guidelines
Summary
 
 
Chapter 17. Multimedia Programming
  Introduction
Recording Audio
Start Recording Audio
Stop Recording
Playing Audio
Playing from Raw Resource
Playing from a File or Network Stream
Stopping and Cleanup
Video Playback
Playing Video
Summary
 
 
Chapter 18. Broadcast Receiver
  Introduction
Developing a Broadcast Receiver Component
Registering a Receiver
Broadcasting a Custom Intent
Summary
 
 
Chapter 19. Location Based Services
  Introduction
Guidelines for Obtaining Current Location
Obtaining Current Location from an Activity or Service
Reading Location Data
Other Considerations
Proximity Alert
Geocoding
Example Geocoding and Reverse Geocoding
Using MapView
Setting up the Project
Showing MapView from an Activity
Summary
 
 
Chapter 20. Android Telephony API
  Common Uses of Telephony API
Making a Phone Call
Sending SMS Message
Call and Service State
Monitoring Call and Service State
Register the Listener
Getting Detail Phone Information
Summary
 
 
Chapter 21. Testing Applications
  Introduction
New Sources of Defects
Special Testing Considerations
Android Testing Framework
The Architecture
Creating a Test Project
Test Case Class for an Activity
Test Case Initialization
Writing a Test Case Method
Service Test Case Class
Running Test Cases
Useful Methods of an Activity Test Case Class
Additional Assertion Function
The TouchUtils Class
Developing and Testing on a Device
Stress Test Monkey
Third Party Testing Tools
Summary
 
 
Chapter 22. Packaging and Distributing Applications

Introduction
Pricing Options
Getting the Application Ready
About Signing the Application
Exporting and Signing the Application
Going to Android Market
Doing Maintenance
Summary 
 

Contact us for course schedules or more information.





Questions? Call Today!
303-377-6176

One of the best, if not the best, technical instructors I've seen.
(Union Pacific Railroad)
Let us know if you need a job; we will be happy to have you on our staff.
(Caremark)
I love this class.
(Northrop Grumman)
Got a lot of positive comments ... Thank you very much!
(SeaChange International)
©2011 The Hartmann Software Group, Independence Plaza, B-180 1001 16th Street, Denver, Colorado 80265