Duration
14 hours (usually 2 days including breaks)
Requirements
None
Overview
Applications for the Android platform are developed primarily in Java. This course was developed for software programmers with a strong OOP background (whether in PHP, Scala, C++, C# or Objective C) that plan to learn how to develop Java applications for the android platform. This course covers the Java programming language grammar and focuses on those specific Java capabilities the android platform uses more than others.
Course Outline
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
Introduction to OOP
- Software Development Cycle
- Objects & Classes
- Key Features of OOP
- Relationships between Objects
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
- Anonymous 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