Name
Android Fast Track

Code
3961

Duration
32 Hours

Description
Applications for the Android platform are developed primarily in Java. This course was developed for experienced software developers with a strong OOP background (whether in PHP, Scala, C++, C# or Objective C) who want to learn how to develop Java applications for the android platform. This course starts with a short overview of the Java programming language (required for the android platform) and continues with a short overview of the android platform itself. This course was tailored for experienced software developers that don't know Java, have self learning capabilities and have the need for a jump start for learning how to develop Java applications for the android platform on their own.

Population
Experienced object oriented developers.

Objectives
Acquire the basic knowledge in order to develop simple Java applications for the android platform.

Prerequisites
Practical object oriented experience in one of the following programming languages: C++, Scala, C#, PHP or Objective C.

Topics
Topics in Java
Let's Start
History
JVM
JDK
JRE
Hello World
JavaDoc
Classes & Packages
API Documentation
The Basic
Java comparing with C++
Simple Output
Remarks
Native Data Types
Variables
Keywords
Identifiers
Expressions & Operators
Simple & Compound Statements
Control Statements
Looping Statements
Assignments
Local Variables
Assertion
Annotations
Object Oriented Programming
Objects Classes & Class Type Variables
Declaring Classes
Class Type Variables
Calling a Method
The 'this' Special Keyword
Class Declaration
Declaring Attributes
Declaring Methods
Methods Overloading
Declaring Constructors
Default Constructors
Overloading Constructors
Using 'this' within Constructors
Static Variables
Static Methods
Static Initializers
Final Variables
Software Packages
Package Statement
The 'import' Statement
Declaring Enums
Java API Documentation
Arrays & Strings
Array of Native Type Values
Array of Objects
Square Brackets Position
Copying Array Values
Multi Dimensional Array
The 'length' Variable
The 'String' Class
Instantiating String
Comparing Strings
The 'toString()' Method
The StringBuffer Class
The StringBuilder Class
The StringTokenizer Class
Passing Arguments to 'main' Method
Inheritance
Introduction to Inheritance
Inheritance in Java
Derivation Syntax
Inheritance Meaning
Constructors & Inheritance
Access Modifiers
Overriding Methods
Polymorphism
Constructors & 'super' Keyword
Abstract Class
Interfaces
The 'instanceof' Operator
Casting References
Deprecated Methods
The 'object' Class
Inner Classes
Inner Classes Types
In-Depth Meaning
Inner Classes within Methods
Annonymous Inner Class
Static Inner Class
Exceptions Handling
The Exceptions Handling Mechanism
Exceptions Classes Hierarchy
Three Types of Exceptions
Try & Catch Statement
The 'throw' Command
The Throwing Chain
The 'finally' Block
The 'throws' Adding
The 'Handle or Declare' Rule
Methods Overloading
Samples
Threads Basics
What is a Thread?
The Thread Parts
Creating New Thread
Starting The Thread
Multiple Threads
I/O Streams
Java I/O Overview
I/O Streams Categories
Byte & Char Streams
The InputStream Abstract Class
The OutputStream Abstract Class
Writing/Reading To/From Files
Generics
Introduction
Subtypes
Wildcards
Collections
Introduction
Performance
Set
List
Queue
Map

Topics in Android
Introduction
What is Android?
Android SDK
Android JVM
The Software Stack
The Development Tools (ADT)
User Interface
Installing Development Tools
Content Providers
Services
Intents
Activities
Views
Configuration File
Simple Hello World
Application Artifacts
Asset Packging Tool
Entry Point Activity
Intent
Calling Other Activities
The Activities Stack
Paused & Stopped Activities
SQLite Database
System Management
Separated Processes
Component & Integration Architecture
Application Resources
Introduciton
What are Resources?
String Resources
Layout Resources
Code Samples
Resource Reference Syntax
Compiled Resources
Compiled Animation Files
Compiled Bitmaps
Compiled UI View Definitions
Compiled Arrays
Compiled Colors
Compiled Strings
Compiled Styles
Compiled Arbitrary Raw XML Files
Uncompiled Resources
The .apk File
Assets
Assets & Resources Directory Structure
The Intent Concept
Introduction
Intent Filter
Use Intent to Start Activity
Android Available Intentions
Code Samples
Intent Categories
Late Run-Time Binding
Use Intent to Start Service
Broadcast Receivers
The Intent Object Structure
The Intent Component Name
The Intent Action
The Intent Data
The Intent Category
The Intent Extras
The Intent Flags
Intents Resolution
Intent Filter Structure
The Action Test
The Category Test
The Data Test
Multiple Matches
Android Predefined Intents
Samples
User Interface Controls
Introduction
GUI Sample in Source Code
GUI Sample in XML
GUI Sample in XML & Source Code
TextView
TextView Sample
TextView Style Sample
EditText
EditText Sample
AutoCompleteTextView
AutoCompleteTextView Sample
MultiAutoCompleteTextView
MultiAutoCompleteTextView Sample
Button
Button Sample
ImageButton
ImageButton Sample
ToggleButton
ToggleButton Sample
CheckBox Contorl
CheckBox Control Sample
RadioButton Control
RadioButton Control Sample
ListView
ListView Sample
GridView Control
GridView Control Sample
Date & Time Controls
Gallery Controller
MapView
WebView
Layout Managers
Introduction
LinearLayout
Layout Weight
Gravity
Samples
TableLayout
Padding Properties
RelativeLayout
AbsoluteLayout
FrameLayout
TabsHost
Menus and Dialogs *
Introduction
Menu Interface
MenuItem Interface
SubMenu Interface
Menu Items Group
Menu Items Attributes
Container Menu Items
System Menu Items
Secondary Menu Items
Alternative Menu Items
Creating Menu
Sample
Menu Items Groups
Menu Items Events Handling
Overriding Callback Function
Define Listener
Using Intents
Expanded Menu
Icon Menus
Sub Menus
System Menus
Context Menus
Samples
Handling Menu Events
Creating Menu using XML
Alert Dialog
Prompt Dialog
Samples
Application Life Cycle
Introduction
Activity Life Cycle Methods
The onStart() and onResume() Methods
The onPause() and onStope() Methods
Return Back to Previous Activity
The onStop() and onDestroy() Methods
The onCreate() Method
The onPause() Method
SQLite Database *
Introduction
SQLite Implementation
The SQLiteOpenHelper Class
The onCreate() Method
The onUpgrade() Method
The onOpen() Method
The getWriteableDatabase() Method
The getReadableDatabase() Method
The SQLiteDatabase Class
The execSQL() Method
The insert() Method
The delete() Method
The rawQuery() Method()
Code Samples
The query() Method
Code Samples
Content Providers *
Introduction
Android Built-In Content Providers
SQLite Database
Content Providers Architecture
Content Providers Registration
Content Providers REST Access
Content Providers URL Structure
Content Providers Mime Types
Using Content Provider
Retrieving Records
Adding Records
The Cursor Object
The ContentValues() Object
Content Provider Demo
Developing Content Providers
Code Samples
The SimpleCursorAdapter Class
The onCreate() Method
The query() Method
The insert() Method
The update() Method
The delete() Method
The getType() Method
Code Samples
Changes Notification
Shared Preferences *
Introduction
The SharedPreferences Interface
The SharedPreferences.Editor Class
Code Samples
File Management
Introduction
Creating Files
Accessing Simple Files
Accessing Raw Resources
XML Files Resources
SD Card External Storage
Activity Data
Introduction
The Intent Class
Start Activity Methods
Passing Data between Activities
Coherent User Experience
Code Sample
Web View *
Introduction
The WebView Class
The android.webkit Package
The INTERNET Permission
The loadUrl() Method
JavaScript Support
The loadData() Method
The WebView Methods
The WebViewClient Class
The WebChromeClient Class
Debugging *
Introduction
Eclipse Java Editor
Eclipse Java Debugger
Logcat
Android Debug Bridge
Delvik Debug Monitor Service
Traceview
Instrumentation Framework
Development Tools *
Introduction
The aapt Tool
The adb Tool
The android Tool
The ddms Tool
The dx Tool
The draw9patch Tool
The emulator Tool

* if time allows