Course Description

This 5-day Android Foundations training course quickly covers the Java language syntax, and then moves into more advanced features of the Java language such as packages, abstract classes, interfaces, and exception handling. The Java section of this course culminates with coverage of inner classes and threads.

The course then turns to Android specifics where students will learn how to create applications using views, resources, and layouts. If time allows, students will also learn how to create Android dialogs and menus. This course is intensive and hands-on, and is current to Android Gingerbread.

Pre-requisites

Programming experience in a structured language such as Pascal, COBOL, Visual Basic, C, C++ or C#. Knowledge of Object-Oriented concepts is helpful.

Who is this course for?

For software developers who are moving to the Java language and Android development.

Further Training

After some further on-the-job programming experience with Android development, we recommend students attend our Android Programming training course to gain higher-level skills in developing applications for Android.

Course content

Getting Started with Java
What is Java?
How to Get Java
A First Java Program
Compiling & Interpreting Applications
The JDK Directory Structure
Eclipse
Introduction to Eclipse
Installing Eclipse
Running Eclipse for the First Time
Editors, Views, and Perspectives
Setting up a Project
Creating a New Java Application
Running a Java Application
Shortcut Key Sequences
More Shortcut Key Sequences
Importing Existing Java Code into Eclipse
Language Fundamentals
A Java Program
If Statements
Switch Statements
Loop Statements
Syntax Details
Primitive Datatypes
Variables
Expressions in Java
Strings
Arrays
Enhanced for Loop
Objects & Classes
Defining a Class
Creating an Object
Instance Data & Class Data
Methods
Constructors
Access Modifiers
Encapsulation
Using Java Objects
Printing to the Console
printf Format Strings
StringBuilder & StringBuffer
Methods and Messages
toString()
Parameter Passing
Comparing & Identifying Objects
Destroying Objects
Using the Primitive-Type Wrapper Classes
Autoboxing
Inheritance in Java
Inheritance
Inheritance in Java
Casting
Method Overriding
Polymorphism
super
The Object Class
Packages
Packages
The import Statement
Static Imports
CLASSPATH & Import
Defining Packages
Package Scope
Exception Handling
Exceptions Overview
Catching Exceptions
The finally Block
Exception Methods
Declaring Exceptions
Defining & Throwing Exceptions
Errors & RuntimeExceptions
Advanced Java Features
Enumerated Types – Pre-Java 5.0
Enumerated Types Today
More Enumerated Types
Abstract Classes
Interfaces
Using Interfaces
Collections
Generics
The Collections Framework
Inner Classes
Inner Classes
Member Classes
Local Classes
Anonymous Classes
Static Nested Classes
Threads
Non-Threaded Applications
Threaded Applications
Creating Threads
Thread States
Runnable Threads
Coordinating Threads
Interrupting Threads
Runnable Interface
Race Conditions
Synchronized Methods
Deadlocks
Synchronized Blocks
Getting Started with Android
Android Overview
Android Architecture
The Dalvik VM
Android Components
Android Development
Environment
A Simple Android Application
The Android Emulator
User Interface Layouts
Android Event Handlers
LogCat
Activities
Activities
Creating an Activity
Activity Lifecycle
Callback Methods
Resource Conservation
Intents
AndroidManifest.xml
Packaging
Resources
Resources
Alternative Resources
R.java
String Resources
String Arrays
Boolean & Integer Resources
Color & Dimension Resources
Style Resources
Image Resources
System Resources
Localization
Format Strings
Views & Event Handlers
Views & ViewGroups
Common Properties
Text View
Edit Text
TextChanged Events
Button
Check Box & Toggle Button
Radio Group & Radio Buttons
DatePicker
ProgressBar & RatingBar
Threads & Handlers
AsyncTask
Layouts
LinearLayout
FrameLayout
RelativeLayout
TableLayout
Combining Layouts
Scrolling
Screen Orientation Changes
Graphical Layout Tool
Appendix A: Dialogs
Toast
Custom Toast
Dialogs
Dismissing a Dialog
AlertDialog
AlertDialog Buttons
AlertDialog Items
Custom Dialogs
ProgressDialog
DatePickerDialog
Appendix B: Menus
Menus & Menu Items
OptionsMenu
Reacting to Menu Item Selections
ContextMenu
Submenus
CheckBoxes & Radio Buttons in Menu Items