Advance Java Training

About Advanced Java Training

The course builds a strong understanding of JDBC Technology. It gives in to demonstrate why Servlets are the cornerstone of Java’s Web platform. It then shows how JSP is built on the Servlet architecture. Additionally, the class shows students how to use JSTL, custom tags and expression language to reduce Java code in Web pages while adding tremendous power and capability to those pages. The class culminates in an exploration of Java MVC frameworks like Struts at a high level.

This is not a class that focuses on theory. Participants will find the course is loaded with practical labs and simulations. After taking this class, developers will be able to build Web applications that perform well, are scalable, and that are easier to maintain.

Advanced Java Training Course Prerequisite

Basic Knowledge of Core Java is required. An understanding of Web technologies like HTML and HTTP is helpful.

Advanced Java Training Course Objective

Learn the fundamentals of JDBC and using the different interfaces in the JDBC API. Learn how to use Java servlets in the role of Web application control. Identify the options to state management in a Java Web application and understand the pros/cons of each. Understand how JSPs can help to separate Web logic and functionality from page layout. Explore how to make JSPs smaller and more powerful with JSTL, custom tags and expression language. Explore strategies in the exchange of data between Web pages (views) and business processing (model). Learn the meaning and importance of MVC

Advanced Java Training Course Duration

60 Working days, daily one and half hour

Advanced Java Training Course Content Overview

JDBC

  • Introduction to JDBC
  • JDBC architecture
  • java.sql Package
  • Connection, Statement, ResultSet
  • Prepared Statement
  • Callable Statement
  • Scrollable and Updatable ResultSet
  • Batch Updates
  • ResultSetMetaData
  • Simple Transaction Management
  • Four Levels of JDBC drivers, their pros & cons
  • Features of JDBC 3.0/4.0

Servlets

  • Need of Server side Programming
  • Introduction to Servlets
  • Servlet Life Cycle
  • javax.servlet package
  • ServletConfig, ServletContext, ServletResponse
  • Supplying initialization parameters to Servlets
  • Performing database operations in Servlets
  • Include and forward mechanisms
  • Applying filters to Servlets
  • javax.servlet.http Package
  • HttpServlet Life Cycle
  • Http request methods GET vs POST
  • HttpServletRequest, HttpServletResponse
  • Dealing with Http headers & error codes
  • Session Tracking, purpose
  • Hidden form fields, Cookies
  • Http Session, URL rewriting
  • Event listeners
  • Web application security

JSP

  • Disadvantages of Servlets
  • Introduction to JSP
  • JSP Life Cycle
  • Creating dynamic Web content with JSP
  • Scripting elements
  • Scriptlet
  • Declaration
  • Expression
  • XML syntax for JSP elements
  • JSP directives page, include and taglib
  • JSP implicit objects
  • JSP scopes
  • Include and forward mechanism
  • Using a Java bean in a JSP
  • JSP Model 1 architecture
  • JSP Model 2 (MVC) architecture
  • Custom Tag Development
  • Classic Tags, Simple Tags
  • Error Handling in a JSP
  • JSTL
  • Expression Language
  • Processing XML in a JSP

Python Training

Python Training Overview

Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. Python has been one of the premier, flexible, and powerful open-source language that is easy to learn, easy to use, and has powerful libraries for data manipulation and analysis

What are the Python Course Pre-requisites

There are no hard pre-requisites. Basic understanding of Computer Programming terminologies is sufficient. Also, basic concepts related to Programming and Database is beneficial but not mandatory.

Objectives of the Course

  • To understand the concepts and constructs of Python
  • To create own Python programs, know the machine learning algorithms in Python and work on a real-time project running on Python

Who should do the course

  • Big Data Professionals
  • IT Developers
  • Those who are showing interest to build their career in Python

Python Training Course Duration

  • 35 Days, Daily 1 Hours

Python Course Content

Core Python

Introduction to Script

  • What is Script, program?
  • Types of Scripts
  • Difference between Script and Programming Languages
  • Features and Limitation of Scripting
  • Types of programming Language Paradigms

Introduction to Python

  • What is Python?
  • Why Python?
  • Who Uses Python?
  • Characteristics of Python
  • History of Python
  • What is PSF?
  • Python Versions
  • How to Download and Install Python
  • Install Python with Diff IDEs
  • Features and Limitations of Python
  • Python Applications
  • Creating Your First Python Program
  • Printing to the Screen
  • Reading Keyboard Input
  • Using Command Prompt and GUI or IDE
  • Python Distributions

Different Modes in PYTHON

  • Execute the Script
  • Interactive and Script Mode
  • Python File Extensions
  • SETTING PATH IN Windows
  • Clear screen inside python
  • Learn Python Main Function
  • Python Comments
  • Quit the Python Shell
  • Shell as a Simple Calculator
  • Order of operations
  • Multiline Statements
  • Quotations in Python
  • Python Path Testing
  • Joining two lines
  • Python Implementation Alternatives
  • Sub Packages in Python
  • Uses of Python in Data Science, IoT
  • Working with Python in Unix/Linux/Windows/Mac/Android..!!

PYTHON NEW IDEs

  • PyCharm IDE
  • How to Work on PyCharm
  • PyCharm Components
  • Debugging process in PyCharm
  • PYTHON Install Anaconda
  • What is Anaconda?
  • Coding Environments
  • Spyder Components
  • General Spyder Features
  • Spyder Shortcut Keys
  • Jupyter Notebook
  • What is Conda? and Conda List?
  • Jupyter and Kernels
  • What is PIP?

Variables in Python

  • What is Variable?
  • Variables and Constants in Python
  • Variable,Variable names and Value
  • Mnemonic Variable Names
  • Values and Types
  • What Does “Type” Mean?
  • Multiple Assignment
  • Python different numerical types
  • Standard Data Types
  • Operators and Operands
  • Order of Operations
  • Swap variables
  • Python Mathematics
  • Type Conversion
  • Mutable Versus Immutable Objects

String Handling

  • What is string?
  • String operations and indices
  • Basic String Operations
  • String Functions, Methods
  • Delete a string
  • String Multiplication and concatenation
  • Python Keywords, Identifiers and Literals
  • String Formatting Operator
  • Structuring with indentation in Python
  • Built-in String Methods
  • Define Data Structure?
  • Data Structures in PYTHON

Python Operators and Operands

  • Arithmetic, Relational Operators and Comparison Operators
  • Python Assignment Operators
  • Short hand Assignment Operators
  • Logical Operators or Bitwise Operators
  • Membership Operators
  • Identity Operators
  • Operator precedence
  • Evaluating Expressions

Python Conditional Statements

  • How to use “if condition” in conditional structures
  • if statement (One-Way Decisions)
  • if .. else statement (Two-way Decisions)
  • How to use “else condition”
  • if .. elif .. else statement (Multi-way)
  • When “else condition” does not work
  • How to use “elif” condition
  • How to execute conditional statement with minimal code
  • Nested IF Statement

Python LOOPS

  • How to use “While Loop” and  “For Loop”
  • How to use For Loop for set of other things besides numbers
  • Break statements, Continue statement, Enumerate function for For Loop
  • Practical Example
  • How to use for loop to repeat the same statement over and again
  • Break, continue statements

Learning Python Strings

  • Accessing Values in Strings
  • Various String Operators
  • Some more examples
  • Python String replace() Method
  • Changing upper and lower case strings
  • Using “join” function for the string
  • Reversing String
  • Split Strings

Sequence or Collections in PYTHON

  • Strings
  • Unicode Strings
  • Lists
  • Tuples
  • buffers
  • xrange

Python Lists

  • Lists are mutable
  • Getting to Lists
  • List indices
  • Traversing a list
  • List operations, slices and methods
  • Map, filter and reduce
  • Deleting elements
  • Lists and strings

Python TUPLE

  • Advantages of Tuple over List
  • Packing and Unpacking
  • Comparing tuples
  • Creating nested tuple
  • Using tuples as keys in dictionaries
  • Deleting Tuples
  • Slicing of Tuple
  • Tuple Membership Test
  • Built-in functions with Tuple
  • Dotted Charts

Python Sets

  • How to create a set?
  • Iteration Over Sets
  • Python Set Methods
  • Python Set Operations
  • Union of sets
  • Built-in Functions with Set
  • Python Frozenset

Python Dictionary

  • How to create a dictionary?
  • PYTHON HASHING?
  • Python Dictionary Methods
  • Copying dictionary
  • Updating Dictionary
  • Delete Keys from the dictionary
  • Dictionary items() Method
  • Sorting the Dictionary
  • Python Dictionary in-built Functions
  • Dictionary len() Method
  • Variable Types
  • Python List cmp() Method
  • Dictionary Str(dict)

Python Functions

  • What is a function?
  • How to define and call a function in Python
  • Types of Functions
  • Significance of Indentation (Space) in Python
  • How Function Return Value?
  • Types of Arguments in Functions
  • Default Arguments and Non-Default Arguments
  • Keyword Argument and Non-keyword Arguments
  • Arbitrary Arguments
  • Rules to define a function in Python
  • Various Forms of Function Arguments
  • Scope and Lifetime of variables
  • Nested Functions
  • Call By Value, Call by Reference
  • Anonymous Functions/Lambda functions
  • Passing functions to function
  • map(), filter(), reduce() functions
  • What is a Docstring?

Advanced Python

Python Modules

  • What is a Module?
  • Types of Modules
  • The import Statement
  • The from…import Statement
  • ..import * Statement
  • Underscores in Python
  • The dir( ) Function
  • Creating User defined Modules
  • Command line Arguments
  • Python Module Search Path

Packages in Python

  • What is a Package?
  • Introduction to Packages?
  • py file
  • Importing module from a package
  • Creating a Package
  • Creating Sub Package
  • Importing from Sub-Packages
  • Popular Python Packages

Python Date and Time

  • How to Use Date & DateTime Class
  • How to Format Time Output
  • How to use Timedelta Objects
  • Calendar in Python
  • datetime classes in Python
  • How to Format Time Output?
  • The Time Module
  • Python Calendar Module
  • Python Text Calendar, HTML Calendar Class
  • Unix Date and Time Commands

File Handling

  • What is a data, Information File?
  • File Objects
  • File Different Modes and Object Attributes
  • How to create a Text Fil and Append Data to a File and Read a File
  • Closing a file
  • Read, read line ,read lines, write, write lines…!!
  • Renaming and Deleting Files
  • Directories in Python
  • Working with CSV files and  CSV Module
  • Handling IO Exceptions

Python OS Module

  • Shell Script Commands
  • Various OS operations in Python
  • Python File System Shell Methods

Python Exception Handling

  • Python Errors
  • Common RunTime Errors in PYTHON
  • Abnormal termination
  • Chain of importance Of Exception
  • Exception Handling
  • Try … Except
  • Try .. Except .. else
  • Try … finally
  • Argument of an Exception
  • Python Custom Exceptions
  • Ignore Errors
  • Assertions
  • UsingAssertionsEffectively

More Advanced PYTHON

  • Python Iterators, Generators, Closures, Decorators and Python @property

Python Class and Objects

  • Introduction to OOPs Programming
  • Object Oriented Programming System
  • OOPS Principles
  • Define Classes
  • Creating Objects
  • Class variables and Instance Variables Constructors
  • Basic concept of Object and Classes
  • Access Modifiers
  • How to define Python classes
  • Python Namespace
  • Self-variable in python
  • Garbage Collection
  • What is Inheritance? Types of Inheritance?
  • How Inheritance works?
  • Python Multiple Inheritance
  • Overloading and Over Riding
  • Polymorphism
  • Abstraction
  • Encapsulation
  • Built-In Class Attributes

Python Regular Expressions

  • What is Regular Expression?
  • Regular Expression Syntax
  • Understanding Regular Expressions
  • Regular Expression Patterns
  • Literal characters
  • Repetition Cases
  • Example of w+ and ^ Expression
  • Example of \s expression in re.split function
  • Using regular expression methods
  • Using re.match()
  • Finding Pattern in Text (re.search())
  • Using re.findall for text
  • Python Flags
  • Methods of Regular Expressions

Python XML Parser

  • What is XML?
  • Difference between XML and HTML  and XML,  JSON, Gson
  • How to Parse XML and Create XML Node
  • Python vs JAVA
  • XML and HTML

Python-Data Base Communication

  • What is Database? Types of Databases?
  • What is DBMS?, RDBMS?
  • What is Big Data? Types of data?
  • Oracle
  • MySQL
  • SQL server
  • DB2
  • Postgre SQL
  • Executing the Queries
  • Bind Variables
  • Installing of Oracle Python Modules
  • Executing DML Operations..!!

Multi-Threading

  • What is Multi-Threading
  • Threading Module
  • Defining a Thread
  • Thread Synchronization

Web Scrapping

  • The components of a web page
  • BeautifulSoup
  • Urllib2
  • HTML,CSS,JS,jQuery
  • Dataframes
  • PIP
  • Installing External Modules Using PIP

Unit Testing with PyUnit

  • What is Testing?
  • Types of Testings and Methods?
  • What is Unit Testing?
  • What is PyUnit?
  • Test scenarios, Test Cases, Test suites

Introduction to Python Web Frameworks

  • Django – Design
  • Advantages of Django
  • MVC and MVT
  • Installing Django
  • Designing Web Pages
  • HTML5, CSS3, AngularJS
  • PYTHON Flask, Bottle, Pyramid, Falcon

Hibernate Training

About Hibernate Training

Hibernate is the most popular object-relational mapping framework for Java environments. Object relational mapping in large enterprise applications is difficult. In this class, students learn object-relational mapping concepts and the various issues and options available in Java to address object persistence. With these fundamentals, the course then explores the basics of Hibernate object persistence and configuration. It also digs into the details of Hibernate mapping, queries, transactions, and concurrency.

This course is loaded with lots of hands on examples and deals with maintenance and performance issues. After taking this class, developers will be able to build faster, more flexible and easier to maintain application persistence layers with the Hibernate framework.

Hibernate Course Prerequisite

  • Students should have a good understanding of the Java Programming language.
  • A basic understanding of relational databases and SQL is very helpful.

Hibernate Training Course Content Objective

  • Understand the challenges of mapping objects to relational databases
  • Learn the architecture of Hibernate
  • Know how to setup and configure Hibernate for a Java Project
  • Learn to map Java classes and object associations to relational database tables with Hibernate mapping files
  • Study Hibernate’s strategies for mapping Java inheritance trees to relational database tables
  • Learn the Hibernate Query Language and Criteria for retrieving Java objects
  • Explore Hibernate’s Caching Architecture

Hibernate Training Course Duration

  • Normal Track 45 Working days, daily one and half hour
  • Fast Track 30 Working days, daily two hours

Hibernate Training Course Overview

Advantages of Hibernate compared to JDBC


Introduction


ORM (Object Relational Mapping)


Hibernate Resources

  • Configuration file
  • Mapping file
  • Persistent class or POJO
  • Client application.

Hibernate Architecture


Installation and Directory Structure


Hibernate Data Types


First Application using Hibernate


Hibernate API

  • Configuration
  • SessionFactory
  • Session
  • Transaction

Object Life cycle in Hibernate

  • Transient object
  • Persistent object
  • Detached object

CRUD operations using Session methods.

  • save, persist, SaveOrUpdate
  • update, merge, delete
  • load, get
  • flush, evict, clear etc

Versioning


Primary key Generators

  • Assigned
  • Increment
  • Sequence
  • Hilo
  • Seqhilo
  • Identity
  • Foreign
  • Native
  • UUID
  • Custom generator

Hibernate Query Language (HQL)


Joins in Hibernate


Batch processing and Native SQL


Criteria API


Criteria with projections


Inheritance Mapping

  • Table per class
  • Table per sub class
  • Table per concrete class

Component Mapping


Custom Mapping


Collection Mapping

  • <list>
  • <set>
  • <map>
  • <bag>
  • Mapping array
  • Sorting collections

Association Mapping

  • one to one
  • one to many
  • many to one
  • many to many
  • Uni directional
  • Bi directional
  • Explanation on inverse and cascade attributes

Caching

  • First level Cache(Session cache)
  • Second level Cache(SessionFactory cache)
  • Query level cache

Connection Pool

  • Default connection pool
  • Server supplied pool
  • Third party vendor connection pool

C#.Net Training

About C#.Net Training

This C#.NET training teaches non-experienced people how to create the Solutions/Applications using C#.NET.  C#.NET is Microsoft’s entry into the world of managed programming. Using a syntax that is deliberately from Java, C++ and C, C#.NET achieves a natural trade-off of terseness and clarity,  enabling programmers to express concepts in a clear and maintainable form. The recent enhancements to the language have made it even more powerful than before, allowing programmers to work with C#.NET in both an Object-Oriented and partially functional style.

C#.Net Training Course Prerequisite

  • No prior experience is presumed.

C#.Net Training Course Content Objective

  • Learn the fundamentals of C# programming in Visual Studio.
  • Using .Net Framework
  • Working with variables, data types
  • Work with standard programming skills
  • Exception Handling in C#
  • Object oriented programming in C#
  • Object oriented techniques
  • Working with Arrays
  • Create Generic classes and methods.
  • Collections in C#
  • Generate and test your own classes using the Class Designer and Object Test Bench tools.
  • Use delegate types to provide flexibility and type safety.
  • Use anonymous types, lambda expressions, extension methods, object initializers, and implicit type declarations

C#.Net Training Course Duration

  • Normal Track 60 Working days, daily one and half hours
  • Fast Track 40 Working days, daily two hours

C#.Net Training Course Content

Introduction/Overview of .Net

  • Introduction  to  .Net
  • Platform for the  .Net
  • Drawbacks  of  Current  Trend
  • Net Framework – BCL & CLR l Key design goals
  • CLR, CTS, MSIL & other tools.
  • Multiple Language Interaction & support l Moving from Project to Assemblies…
  • Security in .NET – CAS

.Net Framework [Advanced]

  • Advantages/Disadvantages
  • Features of .Net
  • Assemblies in Detail
  • GAC,  Strong  Names
  • Language  Interop
  • Reflection

Visual C#.Net Language

  • Advantages/Disadvantages
  • Why C#/ Why Not C#
  • Where does C# Fit in
  • C, C++ to Visual C#
  • Features  of  C#
  • .NET  Namespaces

.Net Installations/C#.Net

  • .NET Versions – 1.1/2.0/3.0/3.5 Beta
  • Visual  Studio.NET  2003/2005/Orcas/2008
  • Windows Vista – New Look
  • Gadgets/SideBars/UAC  –  relation  with  .NET
  • Hardware/Software  Requirements
  • FAQ’s with detailed answers

Programming Using Visual C#.Net

  • The start of the application
  • C#.Net  Program  Design
  • Variables  and  types
  • Value types and reference types (CTS)
  • Strings and arrays
  • The Console class
  • String  formatting
  • Statements  and  flows
  • Programming  Structures
  • Command-line  arguments
  • VS.NET to Create C#.NET Apps
  • C# 3.0/3.5 features – Implicit types , Extention Methods and more

Introduction To Windows  Forms  – I

  • Windows forms library – WinForms
  • Layout Enhancements
  • Forms and controls – Hierarchy
  • Creating simple GUI by hand
  • Event handling
  • Basic controls
  • Windows forms – buttons, check boxes, radio buttons, panels, group boxes, list boxes, picture boxes…

Windows Forms – II

  • Menus
  • Built-in  dialog  boxes  and  printing
  • Extender  Controls
  • ToolStrips, StatusStrips and progress bars
  • A new MDI forms strategy
  • Inheritance  with  forms
  • New Controls – Web Browser, Property Grid etc

Object Oriented Concepts (Basic)

  • Classes & objects
  • Abstract & override methods
  • Creating and using your own classes l Data members and member methods l Instantiate an object
  • This  keyword
  • Properties –  Read Only Write Only…
  • Build process using windows class library l Generate classes for other clients
  • How to use classes as part of project

Object Oriented  Concepts  (Advanced)

  • Accessibility levels, specifiers
  • Constructors
  • Method  overloading
  • Class (static) variables & methods
  • Object  destruction
  • ‘ref’ and ‘out’ parameters
  • Constant  values
  • Enumerations
  • Inheritance  and  Polymorphism
  • The root of all classes
  • Creating  derived  classes
  • Method  overriding  and  hiding
  • Polymorphism  and  virtual  functions
  • Casting  objects
  • Abstract classes
  • Sealed  classes
  • Static classes

Object Oriented Concepts (Implementation Oriented)

  • Case  Studies
  • Class Diagram in VS.Net
  • Refactoring  &  others
  • FAQ’s

Error Handling

  • Unstructured  error  handling  support
  • Structured  error  handling
  • Error  categories
  • Debugging  the  application
  • Debug and Trace  classes
  • Code  Optimization
  • Testing  and  strategies

Ado.Net 1.1/2.0/LINQ

  • History  and  background
  • From DAO to ADO.NET
  • ADO.NET  LINQ
  • ADO.NET  design  goals
  • The ADO.NET architecture and its components
  • ADO.NET in relation to the other .NET tools
  • DataSet  in  RealTime  Scenarious

ADO.Net Components

  • Connected  and  disconnected  environment
  • ADO.NET  object  model
  • Data  sources,  providers  and  connections
  • Commands  and  data  readers
  • Data  sets  and  data  adaptors
  • Data  tables,  rows  and columns
  • Constraints  and  relations
  • Data-centric  applications  –  New  ADO.Net  Hierarchy

Data Sources And .Net Data Providers

  • Connecting  to  a  data  source
  • SQL Server .NET data provider
  • OLE-DB  .NET  data  provider
  • Connections  and  connection  strings
  • SQL-Server  integrated  security
  • Connection  pooling
  • ADO.NET  exceptions

Accessing Data In The Connected Environment

  • Commands
  • Creating  and  executing  commands
  • Reading  data  using  a  data  reader
  • Batch queries & single result queries
  • Parameterised  queries  (input  &  output  parameters)
  • Adding,  editing  and  deleting  data
  • Stored  procedures

Accessing Data In  Disconnected  Environment

  • Why using a disconnected environment?
  • DataSet  and  DataAdapter features
  • Filling data  sets using  data adapters
  • Read data using data tables, rows and columns
  • Batch queries and data sets
  • Visual Studio Data Menu & tools
  • DataSet  Navigation
  • DataSet  Functionality
  • DataSet  Optimistic  Concurrency

Sorting, Searching And  Filtering

  • Searching in data sets
  • Find on primary keys
  • Searching on any column
  • Searching on row state
  • Wildcard  searches
  • Sorting  and  filtering  using  data  views
  • Searching in a data view

Live Case Study and Implementation Of ADO.NET   in N-Tier

  • Client Server Basics
  • N-Tier – Classical and New
  • N-Tier importance w.r.t other .Net technologies
  • Build User Interface Layer – importance
  • Business Layer in N-Tier – advantages & disadvantages
  • Data Access Layer – Generic/Specific Advantages
  • N-Tier  DataBase  Application
  • SQLHelper,  CodeSmith  etc  tools  awareness

XML

  • XML Basics – Importance in Todays world
  • XML designers/support in VS.NET
  • XML Derived Technologies – XSD ,XSL , SOAP ,WSDL

XML IN .NET

  • System.Xml  Namespace
  • Stream  Model  XML
  • XML DOM
  • XmlTextReader,TextWriter
  • XmlTextReader, TextWriter XMLDocument/ XmlDataDocumentClasses
  • Dom  Objects  –  XMLNode/XMLNodeList
  • XPATH- Query Language for XML
  • DOM – Navigation & Access Case Studies

Creating Custom Windows Controls

  • About  user  –  defined  controls
  • Understanding  the  control  class  with  Container
  • Add  Properties/Methods/Events  to  Control
  • Pack & use control in other windows applications
  • Create  &  implement  a  windows  control

Android Training

 

Android Course Overview

The goal of Android App Development Training course is to provide developers easy and complete understanding of the Android App Development with our Class Room Training. The Android Training course provides a series of sessions & Lab Assignments which introduce and explain Android features that are used to code, debug and deploy Mobile Applications

Pre-requisites of the Course

  • Development in Java Programming Language
  • Understanding of application development frameworks, environments, tools and processes

Android Training Objectives

  • Upon completion of this course, attendees will be able to
  • Understand Android platform architecture
  • Design, develop, debug, and deploy Android applications
  • Use Android SDK’s Emulator to test and debug applications
  • Construct user interfaces with built-in views and layouts
  • Define custom view and layout
  • Develop SQLite Data base
  • Secure Android applications
  • Write multimedia Android applications
  • Write location-based applications
  • Interact with Servers using Web Services

Course Duration

  • 45 Working days, daily 1.30 hours

Android Training Course Overview

Introduction to Android

  • Overview of Android
  • Java Editions and comparison with Android
  • Android Apps – Design, Vendor, Behavioral Classification

Android Architecture Overview

  • Android Architecture
  • Application Frameworks
  • Android Libraries, Run time, Dalvik Virtual Machine

Setup of Android Development Environment

  • System Requirements
  • Java, Eclipse and Android SDK Installation
  • Android SDK  andTools
  • Android Virtual Devices & Device Definitions

Your Android Application

  • Android Application Design
  • Using PhotoShop for Graphic Designing
  • Android Application Wireframes (screens)

Your First Android Application

  • Creating Android Application
  • Creating Configurations
  • Testing the app: AVD, Active Device
  • Android Project Structure and Manifest file

Publishing to the Play Store

  • Release process and Release build of Android Application
  • Signing the .apk file
  • Preparing the Store Listing page
  • Content Rating
  • Distributing the Application
  • Merchant Registration for Paid Applications

Activities

  • About XML – approach to design layouts
  • Views and Layouts
  • View properties
  • Linear Layout vs. Relative Layout vs. Frame Layout vs. Absolute Layout
  • Localization of UI
  • Best practices for targeting various form factors: phone, tablet, TV
  • Best practices when working designing Android UI

Android Testing

  • Creating a Test Project for Android project
  • Working with Test Packages
  • Writing test cases

Fragments

  • Designing fragments
  • Fragments life cycle
  • Fragment management and integration

User Interfaces

  • Creating the Activity
  • XML versus Java UI
  • Selection Widgets, Using fonts
  • Common UI components
  • Handling UI events: a bit about listeners

Advanced UI

  • Adapters
  • Complex UI components
  • Menus and Dialogs
  • Tabbed Activities
  • Navigation Drawer
  • Animations
  • Create activity layouts programmatically
  • Testing and optimizing UI

Android Material Design

  • What is material ?
  • Material properties and Styling / Animations
  • Material Patterns

Resources

  • Overview of Android Resources
  • Creating Resources
  • Using Resources
  • Drawable Resources
  • Animation Resources

Broadcast Receivers

  • Broadcast receiver usage patterns: when and why to use them
  • Implementing a broadcast receiver
  • Registering a broadcast receiver via the manifest file and Programmatically

Background Services

  • Overview of Android services
  • Service lifecycle
  • Declaring a service
  • Registering a service
  • Starting and stopping a service
  • Threads and other concurrency considerations with services
  • Bound versus unbound services
  • Remote versus local services

Intents

  • Working with Intents
  • Explicit and implicit intents
  • Using Intents as messaging objects
  • Intents to start components expecting results

Storing and Retrieving Data

  • Storage Model selection criteria
  • Shared preferences
  • Internal Storage – Files
  • External Storage – SD Card
  • Testing the created files, tools

SQLite Database

  • Introducing SQLite
  • SQLiteOpenHelper and creating a database
  • Opening and closing a database
  • Working with cursors
  • Inserts, updates, and deletes

Native Content Providers

  • Content provider types
  • Searching for content
  • Adding, changing, and removing content
  • Native Android Content Providers
  • Accessing Contact Book, Calendar

Custom Content Providers

  • Custom Content Provider classes
  • Publishing content providers

Web Services

  • Understanding Web Services
  • Web Services Architecture
  • Building Server side components
  • Publishing web services
  • REST based web services
  • Accessing Web Services
  • Integrating Web Services with mobile client
  • Overview of networking
  • Checking the network status and web service status
  • Working with HTTP to access the web services

Parsing, Parsers

  • Document Object Model ( DOM )
  • Simple API for XML ( SAX )
  • JavaScript Object Notation ( JSON )
  • Parsing XML and JSON

Location Based Services

  • Using Location Manager, Location Provider
  • GPS and Network based tracking
  • Testing the application using KML files
  • Simulation of the locations on the active device
  • Location Listeners and Proximity Alerts

Integrating Google Maps

  • API Version 2 of Google Maps
  • User Interface – MapFragments
  • API key generation
  • Registrations in the manifest file
  • Google Map, Camera Positions
  • Adding Markers, Circles, Polylines
  • Google Maps Directions API

Telephony

  • Telephony background
  • Accessing telephony information
  • Monitoring data activity and connectivity
  • Working with messaging SMS

Multimedia in Android

  • Playing Audio & Video
  • Recording Audio & Video
  • Customizing Camera & Capturing Photos
  • Voice Recognition
  • Text To Speech

Bluetooth

  • Controlling local Bluetooth device
  • Discovering and bonding with Bluetooth devices
  • Managing Bluetooth connections
  • Communicating with Bluetooth

Social Networking Integrations

  • Facebook Integration

Debugging  and Testing Android Apps

  • Logcat
  • Debugger
  • Traceview
  • HierarchyViewer
  • Monkey Runner
  • UIAutomator