Android Fundamentals – Fast Track Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

None

Overview

Android is an open source platform developed by Google for mobile development.

Applications for the Android platform are developed in Java.

This course overviews Android’s fundamental topics.

This is the fast track program that paces up the original training

Course Outline

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

Java Fundamentals for Android Training Course

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

Android Fundamentals Training Course

Duration

56 hours (usually 8 days including breaks)

Requirements

None

Overview

Android is an open source platform developed by Google for mobile development.

Applications for the Android platform are developed in Java.

This course overviews Android’s fundamental topics.

Course Outline

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

Duration

21 hours (usually 3 days including breaks)

Requirements

None

Overview

This course aims at providing software testers with the required knowledge and skills in order to perform quality assurance tests for software applications that were developed for the Android platform. This course overviews the Android platform capabilities and provides you with up-to-date practices for performing the tests.

Course Outline

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

Core ML for iOS App Development Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience with iOS app development

Audience

  • Web Developers

Overview

Core ML is a domain-specific framework for iOS 11 and macOS High Sierra machine learning integration. With Core ML, users will have the ability to build and train models for classifying images, NLP (Natural Language for Processing), and more.

This instructor-led, live training (online or onsite) is aimed at web developers who wish to create machine learning models with Core ML for iOS 11 and macOS High Sierra development.

By the end of this training, participants will be able to:

  • Build AI driven applications that use machine learning.
  • Implement machine learning models that classify images.
  • Use the Core ML API for supporting custom workflows and advanced use cases.
  • Analyze natural language text with machine learning models.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Machine Learning

  • Computational learning theory
  • Computer algorithms for computational experience

Learning Techniques

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning

Core ML Framework

  • What is Core ML
  • What is NLP?
  • What is computer vision?

Preparing the Development Environment

  • Installing and configuring Core ML

Core ML Quickstart

  • Importing machine learning models
  • Getting results and values
  • Making predictions from machine learning models
  • Converting pre-trained models

Vision Framework

  • Setting up Vision and image detection
  • Classifying and detecting images

NLP

  • Analyzing natural language text
  • Applying NLP enhanced filter logic

Summary and Conclusion

Envoy Mobile Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience with back-end development

Audience

  • Developers

Overview

Envoy Mobile is a service proxy and client networking library that can be integrated into client mobile applications, providing routing, telemetry, and more. Envoy Mobile’s ultimate goal is to make the network easier to work with.

This instructor-led, live training (online or onsite) is aimed at developers who wish to implement Envoy Mobile as a service proxy and client networking library in a client mobile application.

By the end of this training, participants will be able to:

  • Set up the necessary development environment to start developing an Envoy Mobile service.
  • Monitor log files with binary analyze.
  • Optimize the loading speed of a web application.
  • Increase application response times for better business outcomes.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Envoy Mobile and Service Proxies

  • Processes and components used to create network functionality for mobile web applications

Overview of the Mobile Web Development Cycle

  • Native logic
  • Front-end versus back-end

Back-End Development Enviroment

  • Routing
  • Telemetry
  • Rate limiting

Preparing the Development Environment

  • Installing and configuring Bazel
  • Updating and overriding dependencies
  • Installing and configuring Gonlang used for compiling Bazel files

Creating an Envoy Mobile Service

  • Configuring the “Envoy” module
  • Creating a simple Python server to enable localhost
  • Coding a todo list

File Analysis for the Application

  • Building the binary for analysis
  • Compiling and stripping the binary
  • Using jTool for binary size analysis
  • Running file analysis

Testing the Application

  • Perform network requests on the Python server to observe user activity

Deploying the Application

  • Running on the application a mobile simulator or mobile device

Summary and Conclusion

HIPAA Compliance for Developers Training Course

Duration

7 hours (usually 1 day including breaks)

Requirements

  • Basic familiarity with app development

Overview

HIPAA (Health Insurance Portability and Accountability Act of 1996) is a legislation in the United States that provides provisions for data privacy and security for handling and storing medical information. These guidelines are a good standard to follow in developing health applications, regardless of territory. HIPAA compliant applications are recognized and more trusted globally.

In this instructor-led, live training (remote), participants will learn the fundamentals of HIPAA as they step through a series of hands-on live-lab exercises.

By the end of this training, participants will be able to:

  • Understand the basics of HIPAA
  • Develop health applications that are compliant with HIPAA
  • Use developer tools for HIPAA compliance

Audience

  • Developers
  • Product Managers
  • Data Privacy Officers

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice.

Note

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction to the Health Insurance Portability and Accountability Act (HIPAA)

Understanding HIPAA

  • What is PHI (Protected Health Information)?
  • The Privacy Rule
  • The Security Rule

Health App Use Scenarios: When Might an App Developer Need to Comply with HIPAA?

Real World Examples of HIPAA Violations

Developer Considerations for HIPAA Compliance

How to Develop HIPAA-Compliant Mobile Applications

How to Develop HIPAA-Compliant Wearable Applications

How to Develop HIPAA-Compliant Cloud Computing Applications

Using Tools for HIPAA Compliance

  • Apple HealthKit
  • TrueVault

Summary and Conclusion

React Native for Web Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Knowledge of Javascript, HTML, and CSS
  • Basic understanding of Object Oriented Programming (OOP) is useful

Overview

React Native is an open-source, cross-platform development framework for building mobile apps. Developed by Facebook, it enables developers to create a native look-and-feel experience for their apps on Android and IoS. React Native for Web makes the platform-agnostic components and APIs of React Native available for web app development.

React Native provides a consistent developer experience based on JavaScript and the React (aka React.js or ReactJS) library and enables true rapid development by focusing on developer efficiency across all platforms — learn once, write anywhere.

In this instructor-led, live training, participants will learn the fundamentals of React Native for Web.

By the end of this training, participants will be able to:

  • Install and configure React Native developer tools
  • Understand the fundamentals of React Native for Web
  • Build, test, deploy, and troubleshoot an application compatible with iOS, Android, and the web using React Native for Web

Audience

  • Web developers
  • Mobile application developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Note

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction to React Native

  • React Native vs React

Overview of React Native for Web

Installing and Configuring React Native Developer Tools

Setting Up a React Native Project

Creating a Simple React Native Application for iOS and Android

Building the Web Version of Your React Native Application

  • Shared Components
  • Shared Styles
  • Shared API Libraries
  • Shared Functionalities

Testing Your React Native for Web Application

Debugging Your React Native for Web Application

Limitations of React Native for Web

Troubleshooting

Summary and Conclusion

Kotlin for iOS Developers Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Experience with Swift programming

Overview

Kotlin is a modern, functional and object-oriented programming language based on Java.

In this instructor-led, live training, participants will learn Kotlin programming as they step through the creation of an Android app based on an existing iOS app.

By the end of this training, participants will be able to:

  • Understand the fundamental concepts of Kotlin programming by leveraging Swift and iOS knowledge.
  • Construct an Android UI using Kotlin.

Audience

  • iOS and Swift Developers interested in moving their apps to Android using Kotlin

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

Setting Up the Tools for Kotlin

  • Using the Command Line Tools
  • Installing the JDK for Kotlin
  • Installing and Setting Up the IDE: IntelliJ
  • Installing the Plugins

Setting Up the Tools for Android Development

  • Installing Android Studio
  • Starting a New Project
  • Setting Up the Emulator
  • Setting Up the Library

Setting Up Kotlin in Android

Getting Started with Kotlin and the Kotlin Syntax

  • Overview of Kotlin
  • Learning the Kotlin Architecture
  • Learning the Kotlin Syntax
  • Using Key Features of Kotlin

Comparing Similarities and Differences of Kotlin and Swift

  • Basics
  • Arrays
  • Dictionaries

Digging Deep into Programming with Kotlin vs. Swift

  • Learning the Types of Classes
  • Creating a Class
  • Adding Methods to Classes
  • Defining Basic Constructors
  • Using Named Parameters and Default Values
  • Using Open Classes to Allow Inheritance
  • Creating, Declaring, and Using Functions in Kotlin
  • Using Parameters and Returning a Value
  • Creating and Using Interfaces
  • Using Enumerations
  • Understanding Generics
  • Implementing a Generic Stack
  • Using Generic Functions
  • Using Extension Functions

Working with Java from Kotlin and Vice Versa

Working with the Data Layer

  • Overview of the Network Layer
  • Using Entities and Endpoints
  • Implementing Network Interactors
    • GET Articles
    • POST Articles
    • Finalize
  • Setting Up Room for SQLite Database
  • Working with Realm Database
  • Implementing Common Tasks on the Data Layer

Understanding the Application Life Cycle of Android vs. iOS

  • Simple
  • Complex
  • Threading

Using XML UI Layout

  • Overview of Common UI Components Between Apple and Android
  • Adding UI Events
  • Creating an Activity
  • Using the RecyclerView

Troubleshooting

Summary and Conclusion

Build an Augmented Reality Application for iPhone and iPad Training Course

Duration

7 hours (usually 1 day including breaks)

Requirements

  • Xcode and Swift programming experience

Overview

ARKit is a new framework for creating Augmented Reality (AR) experiences for iPhone and iPad.

In this instructor-led, live training, participants will learn how to develop an augmented reality (AR) app for iPhone and iPad.

By the end of this training, participants will be able to:

  • Blend 2D or 3D digital objects and information with the real-world environment.
  • Take apps beyond the screen, enabling them to interact with the real world.
  • Use ARKit’s capabilities for positional tracking and scene understanding.
  • Integrate ARKit with SceneKit and SpriteKit.
  • Control rendering with Metal 2.

Audience

  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

To request a customized course outline for this training, please contact us.