Java Fundamentals for Android Training Course

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

Android Fundamentals Training Course

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 Packaging 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

  • Introduction
  • 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 Control
  • 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

Touchscreens

  • Introduction
  • Motion Events
  • Events Sequences
  • Events Handling
  • Handling Method
  • Samples

Style Definition

  • Introduction
  • Style Definition
  • Samples
  • Style Definitions Inheritance
  • Style Properties
  • Theme Definition
  • Predefined Themes
  • Predefined Themes
  • Inherit Predefined Theme
  • App Widgets Development
  • App Widgets Overview
  • Practical Samples
  • Basic App Widget Structure
  • Configuration Activity
  • Design Guidelines

Location Based Services

  • Introduction
  • The Map Key
  • The MD-5 Signature
  • Google Maps Key
  • Required Permissions
  • Code Sample
  • The Map Controller
  • Code Samples
  • Maps Overlays
  • Code Samples
  • The Geocoder Class
  • The Address Class
  • The LocationManager Class
  • The LocationListener Interface
  • The Debug Monitor Service (DMS)

Web Services

  • Introduction
  • The HttpClient Class
  • The HttpGet Class
  • The HttpPost Class
  • The HttpResponse Class
  • Code Samples
  • HTTP Get Request
  • HTTP Post Request
  • Code Samples
  • Timeout Exceptions
  • Threading Issues

Android Services

  • Introduction
  • Creating Services
  • The Service Class
  • Background Tasks
  • Inter Process Communication
  • Separated Implementation
  • Local ServiceRemote Services
  • AIDL Compiler
  • Creating Remote ServiceUsing Remote Service
  • Samples

Media Framework

  • Introduction
  • Playing Audio
  • Playing Video
  • Simple MP3 Player Demo
  • Simple Video Player Demo

Android Security Model

  • Introduction
  • Deployment
  • The keytool Utility
  • The jarsigner Utility
  • Deployment using Eclipse
  • Separated Processes
  • Declarative Permission Model

Graphics Animation

  • Introduction
  • Frame by Frame Animation
  • Code Sample
  • Tween Animation
  • Code Samples

Basic Graphics

  • Introduction
  • The Drawable Abstract Class
  • Code Sample
  • The ShapeDrable Abstract Class
  • Code Sample

OpenGL Graphics

  • Introduction
  • The glVertexPointer Method
  • The glDrawElements Method
  • Code Sample

Customized Views

  • Introduction
  • Customized Progress Bar
  • Model View Controller

Android Threads

  • Introduction
  • The UI Thread
  • The Single Thread Rule
  • The runOnUiThread Method
  • The post Method
  • The postDelayed Method
  • The Handler Class
  • The AsyncTask Utility Class
  • Sending Messages to Handler
  • Background Threads Caveats

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

Dalvik VM

  • Introduction
  • Comparing with JVM
  • The dex File Format
  • The dx Utility
  • Garbage Collector
  • Controlling the Dalvik VM

Background Applications

  • Introduction
  • Services
  • Background Threads
  • Making Toasts
  • Notifications
  • Other System Services
  • Background Activity Sample

Activity Data

  • Introduction
  • The Intent Class
  • Start Activity Methods
  • Passing Data between Activities
  • Coherent User Experience
  • Code Sample

SMS Messages

  • Introduction
  • The SMSManager Class
  • The SEND_SMS Permission
  • Sending SMS
  • Receiving SMS

Telephony

  • Introduction
  • Initiate Phone Calls
  • The android.telephony Package
  • The CallLocation Class
  • The PhoneStateListener Class
  • The ServiceState Class
  • The TelephonyManager Class
  • Limitations,Android VoIP

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

Java Language

  • Introduction
  • The Limits
  • Third Party Java Libraries

Debugging

  • Introduction
  • Eclipse Java Editor
  • Eclipse Java Debugger
  • Logcat
  • Android Debug Bridge
  • Dalvik Debug Monitor Service
  • Traceview
  • Instrumentation Framework

Adapters

  • Introduction
  • Classes Hierarchy
  • The Adapter Purpose
  • The SimpleCursorAdapter Class
  • The ArrayAdapter Class

Live Wallpapers

  • Introduction
  • Develop Live Wallpaper
  • User Interaction
  • The user-sdk Element
  • The uses-feature Element
  • PerformanceCode Samples

BroadcastReceiver

  • Introduction
  • Registering a Receiver
  • Receiver Life Cycle
  • Code Samples

Bluetooth

  • Introduction
  • The Capabilities
  • The BluetoothAdapter Class
  • The BluetoothDevice Class
  • The BluetootnSocket Interface
  • The BluetoothServerSocket Class
  • The Bluetooth Class
  • Bluetooth Permission
  • Setting Up Bluetooth
  • Finding Devices
  • Querying Paired Devices
  • Devices Discovery
  • Enabling Discoverability
  • Devices Connection
  • Code Samples

Text To Speech

  • Introduction
  • Pico Engine
  • Demo
  • Single TTS Engine
  • Code Samples

Android Search

  • Introduction
  • Suggestions Providers
  • The onSearchRequest() Method
  • Suggestion Provider

Camera

  • Introduction
  • Auto Focus
  • Picture Parameters
  • Scene Modes

Accelerometer

  • Introduction
  • The SensorManager Class
  • The SensorListenr Interface

Compass

  • Introduction
  • The SensorManager Class
  • The SensorListenr Interface

Vibration

  • Introduction
  • The Vibrator Class
  • Vibration Sequences

WiFi Connectivity

  • Introduction
  • The WifiManager Class
  • User Permissions
  • Searching for Hot Spots
  • Connecting Hot Spots

Networking

  • Introduction
  • Java Networking Classes
  • Android Networking Classes
  • Apache Networking Classes

Input Method Framework

  • Introduction
  • The android:inputType Attribute
  • Customized IMF

Device Rotation

  • Introduction
  • Two XML Layout Documents
  • Code Samples

Localization

  • Introduction
  • Default Resources
  • Current Locale
  • Testing
  • Custom Locale
  • Code Samples

Memory Management

  • The Application Context
  • Screen Orientation Changes
  • Static Inner Classes
  • Weak References
  • Garbage Collector

Speech Input

  • Introduction
  • The RecognizerIntent Class
  • Start Speech Recognition
  • Google Server Side
  • The Language Model
  • Free Form Language Model
  • Web Search Language Model

Development Tools

  • Introduction
  • The aapt Tool
  • The adb Tool
  • The android Tool
  • The ddms Tool
  • The dx Tool
  • The draw9patch Tool
  • The emulator Tool

Instant Messaging

  • Introduction
  • Jabber Protocol
  • GTalk Interaction

Android Applications Testing Training Course

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 Packaging 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

  • 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 Control
  • 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

Location Based Services

  • Introduction
  • The Map Key
  • The MD-5 Signature
  • Google Maps Key
  • Required Permissions
  • Code Sample
  • The Map Controller
  • Code Samples
  • Maps Overlays
  • Code Samples
  • The Geocoder Class
  • The Address Class
  • The LocationManager Class
  • The LocationListener Interface
  • The Debug Monitor Service (DMS)

Android Security Model

  • Introduction
  • Deployment
  • The keytool Utility
  • The jarsigner Utility
  • Deployment using Eclipse
  • Separated Processes
  • Declarative Permission Model

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

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

File Management

  • Introduction
  • Creating Files
  • Accessing Simple Files
  • Accessing Raw Resources
  • XML Files Resources
  • SD Card External Storage

Background Applications

  • Introduction
  • Services
  • Background Threads
  • Making Toasts
  • Notifications
  • Other System Services
  • Background Activity Sample

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

Java Language

  • Introduction
  • The Limits
  • Third Party Java Libraries

Debugging

  • Introduction
  • Eclipse Java Editor
  • Eclipse Java Debugger
  • Logcat
  • Android Debug Bridge
  • Dalvik Debug Monitor Service
  • Traceview

Accelerometer

  • Introduction
  • The SensorManager Class
  • The SensorListenr Interface

Localization

  • Introduction
  • Default Resources
  • Current Locale
  • Testing
  • Custom Locale
  • Code Samples

Speech Input

  • Introduction
  • The RecognizerIntent Class
  • Start Speech Recognition
  • Google Server Side
  • The Language Model
  • Free Form Language Model
  • Web Search Language Model

Development Tools

  • Introduction
  • The aapt Tool
  • The adb Tool
  • The android Tool
  • The ddms Tool
  • The dx Tool
  • The draw9patch Tool
  • The emulator Tool

Android Applications Testing Practices – 4 Hours

Automated Testing

  • JUnit Testing
  • Using Assertions
  • Instrumentation Framework

On Device Testing

  • User Interface & Consistency
  • Functionality of Interaction with the OS
  • Networking Testing
  • Stress Test Conditions
  • International Support Testing
  • General Requirements

On Device Remote Testing

  • DeviceAnywhere Platform
  • Scenarios To Be Care Of