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
How to Get Java
A First Java Program
Compiling & Interpreting Applications
The JDK Directory Structure
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
If Statements
Switch Statements
Loop Statements
Syntax Details
Primitive Datatypes
Variables
Expressions in Java
Strings
Arrays
Enhanced for Loop
Objects & Classes
Creating an Object
Instance Data & Class Data
Methods
Constructors
Access Modifiers
Encapsulation
Using Java Objects
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 in Java
Casting
Method Overriding
Polymorphism
super
The Object Class
Packages
The import Statement
Static Imports
CLASSPATH & Import
Defining Packages
Package Scope
Exception Handling
Catching Exceptions
The finally Block
Exception Methods
Declaring Exceptions
Defining & Throwing Exceptions
Errors & RuntimeExceptions
Advanced Java Features
Enumerated Types Today
More Enumerated Types
Abstract Classes
Interfaces
Using Interfaces
Collections
Generics
The Collections Framework
Inner Classes
Member Classes
Local Classes
Anonymous Classes
Static Nested Classes
Threads
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 Architecture
The Dalvik VM
Android Components
Android Development
Environment
A Simple Android Application
The Android Emulator
User Interface Layouts
Android Event Handlers
LogCat
Activities
Creating an Activity
Activity Lifecycle
Callback Methods
Resource Conservation
Intents
AndroidManifest.xml
Packaging
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
Common Properties
Text View
Edit Text
TextChanged Events
Button
Check Box & Toggle Button
Radio Group & Radio Buttons
DatePicker
ProgressBar & RatingBar
Threads & Handlers
AsyncTask
Layouts
FrameLayout
RelativeLayout
TableLayout
Combining Layouts
Scrolling
Screen Orientation Changes
Graphical Layout Tool
Appendix A: Dialogs
Custom Toast
Dialogs
Dismissing a Dialog
AlertDialog
AlertDialog Buttons
AlertDialog Items
Custom Dialogs
ProgressDialog
DatePickerDialog
Appendix B: Menus
OptionsMenu
Reacting to Menu Item Selections
ContextMenu
Submenus
CheckBoxes & Radio Buttons in Menu Items