Course Description
This intensive, hands-on four-day course teaches programmers how to develop applications for the Android platform.
Target Student:
Programmers developing applications for the Android platform.
Prerequisites:
Introduction to Java or equivalent experience is required. Basic understanding of XML is required.
Delivery Method:
Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.
Performance-Based Objectives:
Students will learn how to set up their Android development environment, including the Android SDK and the ADT plug-in for Eclipse. Students will develop Applications, Activities, Services, Content Providers, and Receivers; use Intents to access components of existing Activities and Services; use Adapters to connect to data sources and SQLLite to save application state; create full-featured graphical interfaces using Views, Layouts, and other elements; and create location-based services that interact with Google Maps.
Course Content
1. Getting Started
Android Architecture
The Dalvik VM
Android Components
Android Development Environment
A Simple Android Application
The Android Emulator
User Interface Layouts
Android Event Handlers
LogCat
2. Activities
Creating an Activity
Activity Lifecycle
Callback Methods
Resource Conservation
Intents
AndroidManifest.xml
Packaging
3. Resources
Alternative Resources
R.java
String Resources
Boolean and Integer Resources
Color Resources
Image Resouces
System Resources
Localization
Format Strings
4. Widgets and Event Handlers
Views and ViewGroups
Common Properties
Text View
Edit Text
TextChanged Events
Button
Check Box and Toggle Button
Radio Group and Radio Buttons
DatePicker
ProgressBar and RatingBar
Threads and Handlers
AsyncTask
5. Layouts
Linear Layout
FrameLayout
RelativeLayout
TableLayout
CombiningLayouts
Scrolling
Screen Orientation Changes
Tools
6. Dialogs
Toast
Custom Toast
Dialogs
Dismissing a Dialog
AlertDialog
AlertDialog Buttons
AlertDialog Items
Custom Dialogs
ProgressDialog
DatePickerDialog
7. Menus
Menus and Menu Items
OptionsMenu
Reacting to Menu Item Selections
ContextMenu
Submenus
CheckBoxes and Radio Buttons in Menu Items
8. Intents and Broadcast Receivers
Android Components
Explicit Intents
Passing Extra Data to an Intent
Activities with Results
Implicit Intents
Intent Filters
Intent Filter Actions and Categories
Intent Filter Data
Broadcast Receivers
Registering Broadcast Receivers Programmatically
Registering Broadcast Receivers via the Manifest
Broadcasting Intents
9. Services
What is a Service?
Defining a Service: Extend IntentService
Defining a Service: Extend Service
Registering and Starting a Service
Stopping a Service
Creating a Bound Service
Binding to a Service
Remote Bound Services
Call a Remote Service
Service Lifecycle
10. Notifications
Notifications
NotificationManager
Updating a Notification
Notification Fields
11. Data Storage: Preferences and Files
The Android File System
Preferences
Creating Preferences
Reading Preferences
Updating and Deleting Preferences
Manage Preferences with Preference Activity
Using PreferenceScreen
Working with Files
openFileInput() and openFileOutput()
The cache Directory
ExternalStorage
RawResource Files
12. Data Storage: SQLite Database
SQLite
Android SQLite Classes
Executing SQL Statements
The query() Method
Cursors
Managed Cursors
Encapsulating Data Access
Using SQLiteOpenHelper
Inserting and Updating Data
Deleting Data
Transactions
13. Data Adapter Widgets
Data-Driven Adapter Controls
Adapters
ArrayAdapter
Spinner
AutoCompleteTextView
ListView
AdapterView Events
CursorAdapter
ListView with a CursorAdapter
Gallery and GridView
14. Sharing Data with Content Providers
Content Providers
Content URIs
Built-In Content Providers
Contacts
Querying Contacts
Manipulating Contacts
Sharing Your Appâ„¢s Data
Implementing the ContentProvider Interface
Registering your Content Provider
Content Provider Client
15. Location-Based Services
Using the Emulatorâ„¢s Location Setting
Determining the Current Location
Tracking Movements
Proximity Alerts
Geocoding and Reverse Geocoding
Using Google's Map Service
Launching a Google Map
Embedding a Google Map with MapView
16. Publishing an Application
Publishing
Packaging and Signing
Distribution
Updates
17. Appendix A Java Inner Classes
18. Appendix B Java Threads
19. Appendix C Audio and Video
20. Appendix D 2D Drawing