Core java with Android and Kotlin

Core java with Android and Kotlin

While many languages can be used to build Android apps, Java is the language Google motivate developers to use. However, its not exactly the same as the Java you may have encountered on other platforms. There are some subtle differences and peculiarities and its important for you as an Android developer to get your head around them.

J2SE (JAVA 2 STANDARD EDITION) INTRODUCTION To JAVA

  • Understanding Requirement: why JAVA
  • Why java important to the internet
  • JAVA on LINUX PLATFORM

INTRODUCTION TO JAVA VIRTUAL MACHINE

  • Java Virtual machine Architecture
  • Class loading process by class loaders
  • Role of Just In time compiler (JIT)
  • Execution Engine
  • System Loader
  • Role Of Just In Time Compiler (Jit)
  • Execution Engine

AN OVERVIEW OF JAVA AND BUZZWORDS

  • Data Types , Variables ad Arrays
  • Operators
  • Control statements
  • Object oriented paradigms
  • Abstractions
  • The Three OOP Principles:
  • (Encapsulation, Inheritance, Polymorphism)

JAVA CLASSES AND OOP IMPLEMENTATION

  • Class fundamentals
  • Commands line arguments
  • Learning Static Initializer
  • Declaration of objects
  • Instance variable Hiding
  • Overloading and Overriding of Methods
  • Understanding of Access Controls (private, public and protected)
  • Learning Nested and Inner classes
  • Dynamic method Dispatching
  • Using Abstract classes
  • Using final to prevent Overriding & Inheritance
  • Garbage collection

PACKAGES AND INTERFACES

  • Defining a package
  • Understanding CLASSPATH
  • Access Protection
  • Importing packages
  • Defining and Implementing interfaces
  • Anonymous classes
  • Abstract classes Vs Interfaces
  • Adapter classes

EXCEPTION HANDLING

  • Fundamental of Exception handling
  • Types of Exceptions
  • Learning exceptions handlers
  • Try and Catch
  • Multiple catch Clauses
  • Nested Try statements
  • Throw , throws and finally
  • Creating custom exceptions
  • Assertion

STRING HANDLING

  • Learning String Operation
  • Learning character Extraction
  • Learning string Comparison
  • Understanding string Buffer Classes
  • String builder class
  • Creating Immutable Class

NEW IN JDK 5/6/7

  • Premain method , Object size
  • Generics
  • Annotations
  • Vargs
  • Static Import
  • For each
  • String in which

WINDOWS PROGRAMMING Swing & AWT

  • Introduction to JFC
  • Controls

Event Delegation Method

  • Event Classes
  • Event listeners

Multi threaded Programming

  • The java thread model
  • Creating a thread: Extended Thread and Implementing Runable
  • Creating multiple Thread and Context Switching
  • Synchronization: methods and statements
  • Inter thread Communication
  • Thread local
  • Dead lock
  • Threadpool executer class
  • Shutdown hookup
  • Re-entrent locking
  • The java thread model
  • Creating a thread: Extended Thread and Implementing Runable
  • Creating multiple Thread and Context Switching
  • Synchronization: methods and statements
  • Inter thread Communication
  • Thread local
  • Dead lock
  • Threadpool executer class
  • Shutdown hookup
  • Re-entrent locking

Introduction to I/O streams

  • File handling
  • Binary Streams
  • Character stream
  • Serialization
  • Scanner
  • Stream tokenizer
  • String tokenizer
  • GzipOutStream class
  • Data Encryption & decryption

NETWORKING

  • URL, InetAddress
  • Socket And Server Socket
  • Datagram socket
  • Socket factories

Reflection API

  • Determining the class of an object
  • Getting information about classes modifier, fields, methods, constructor, and super classes
  • Finding out constant and method declaration belong to an interface
  • Creating an instance of a class whose name is not known until runtime
  • Invoking a method on an object if the method is unknown until runtime
  • Creating a new array whose size and components type are not know until runtime
  • Invoking private member of a class
  • Getting and setting value of an objects field if field name is unknown until runtime

COLLECTION FRAMEWORK

  • The Collection Interfaces (list , set, Sorted set)
  • Accessing a Collection via an Iterator
  • Working with maps
  • Working with Comparators
  • The Collection Algorithms
  • Date and Time Handling
  • COLLECTION CLASS
  • Array class

INTRODUCTION TO ANDROID

  • Introduction to Android
  • Brief history of Android
  • What is Android?
  • Why is Android important?
  • What benefits does Android have?
  • What is OHA?
  • Why to choose Android?
  • Software architecture of Android
  • Advantages of Android
  • Android features
  • Android market
  • Comparing Android with other platform
  • Terms and acronyms

INSTALLATION AND CONFIGURATION OF ANDROID

  • Details about the software requirement
  • Download and installation process of Android SDK
  • How to select Android version?
  • Step to create new project?
  • Running your application
  • Creation of new AVD
  • Android studio

GETTING STARTED

  • How to select Android version?
  • Step to create new project
  • Running Your Application
  • Creation of New AVD
  • Creating run configuration
  • Creating your first Android activity
  • List of basic sample programs

INTRODUCTIONS TO APPLICATION COMPONENTS ACTIVITIES

  • Services
  • Broadcast receivers
  • Content providers
  • Intents
  • Notifications
  • Activating and shutting down components
  • Brief idea about manifest file
  • Brief idea about activities and Task

ANDROID COMPONENT LIFE CYCLE

  • Activity Life Cycle with sample program
  • Service Life Cycle with sample program

ANDROID LAYOUTS

  • What are views, Layouts and there classification?
  • How Android Draws views and Layout?
  • Classification
  • Table Layout ln detail with Example
  • Tab Layout ln detail with Example
  • Frame Layout ln detail with Example
  • Absolute Layout ln detail with Example
  • Linear Layout in detail with Example

ANDROID VIEWS

  • Grid View In detail With Example
  • Map View In detail with Example
  • Cont. Sub Topical Views
  • Web View In detail with Example
  • Spinner In detail with Example
  • Gallery In detail with Example
  • Google Map View In detail with Example
  • Introduction to creating activity user with views
  • Different ways of creating views Using xml

STYLES AND THEMES

  • Providing resources
  • Different resource file location
  • Providing alternative resources
  • Android finds the best matching resource
  • Accessing resources
  • Accessing platform resources
  • Handling runtime changes
  • Introduction to Jquery
  • JQuery work in Android

WHAT ARE FRAGMENTS?

  • Multipane & Singlepane
  • Fragment Life Cycle
  • Addition of Fragments
  • Fragments Working without UI

INTRODUCTION TO MENUS

  • How to create menus?
  • Types of Android Application Menus
  • Option Menu
  • Expanded - In detail with Example
  • Context Menu ln detail with example
  • Sub Menu-In detail with example

INTRODUCTION TO DRAWERS

  • Navigation Drawer
  • Simple Side Drawer
  • Tab Drawer
  • Extra Drawer

HANDLING USER INTERACTION EVENTS

  • Handling user events
  • Different types of event listener
  • OnClickO
  • OnLongClickO
  • OnFocusChangeO
  • OnKeyO
  • OnTouchO
  • OnCreateContextMenuO
  • Different types of event handler
  • OnKeyDown (int, KeyEvent)
  • OnKeyUp (int, KeyEvent)
  • OnTrackballEvent (MotionEvent)
  • OnTouchEvent (MotionEvent)
  • OnFocusChanged (boolean,int,Rect)

CREATING DIALOGS

  • Introduction to dialogs
  • Showing and dismissing of dialog boxes
  • Alert dialog In detail with example
  • Progress dialog In detail with example
  • Threading and handler
  • Creating running applications-Events
  • Creating running applications-Dialogs

NOTIFICATIONS

  • Notifying Users
  • Status bar Notification
  • Toast Notification
  • Dialog Notification

INTENTS, BROADCAST RECEIVERS, ADAPTERS AND INTERNET

  • Different types of intent?
  • Launching sub-activities
  • What is intent filter
  • Intent objects---In detail with example
  • Using intents to take pictures
  • Handling sub activity results

DATA STORAGE

  • Android techniques for data storage
  • Creating and saving shared preferences
  • Retrieving shared preferences
  • Storing in files
  • Loading from files.
  • Storing in databases.

WORKING WITH SQL LITE

  • Introducing SQLite database.
  • Working with Android databases.
  • Using SQLite OpenHelper.
  • Cursors and content values.
  • Opening and closing Database

WORKING IN BACKGROUND

  • Introducing services
  • Creating and controlling services
  • Registering a service in the manifest
  • Starting, controlling, and interacting with a service

USING THE CAMERA, TAKING PICTURES AND THE MEDIA API

  • Controlling the camera and taking pictures
  • Playing audio and video
  • Introducing the media player
  • Preparing audio for playback
  • Packaging audio as an application resource
  • Initializing audio content for playback
  • Preparing for video playback
  • Playing video using the video view
  • Setting up a surface for video playback
  • Initializing video content for playback
  • Supported video formats
  • Controlling playback
  • Managing media playback output
  • Multimedia supported audio formats
  • Recording audio and video
  • Using Intents to Record Video
  • Configuring and Controlling Video Recording
  • Previewing Video Recording
  • Reading and Writing JPEG EXIF Image Details
  • Adding new media to media storage
  • Using the Media Scanner
  • Inserting Media into the Media Store
  • Raw video manipulation
  • Recording Sound with Audio Record
  • Playing Sound with Audio Track
  • Speech recognition
  • Creating and Running and Testing

MAPS, GEO CODING AND LOCATION BASED SERVICES

  • Using Location Based Services
  • Working with the location manager
  • Configuring the Emulator to Test Location Based Services

ABOUT ADB (ANDROID DEBUG BRIDGE)

  • DDMS: Dalvik debug monitor Service
  • Trace View

DATA SECURITY AND PERMISSION

  • Security Architecture
  • User Ids and File Access
  • Using Permissions
  • Declaring and Enforcing Permissions

DRAWING 2D AND 3D GRAPHICS

  • Rolling your own Widgets
  • Drawables
  • Bitmaps
  • Paint

USING BLUETOOTH AND MANAGING AND MONITORING WI-FI

  • Accessing the Local Bluetooth Device
  • Adapter
  • Managing Bluetooth Properties and State
  • Managing Device Discoverability
  • Discovering Remote Devices
  • Monitoring Active Connection Details
  • Scanning for Hotspots
  • Managing Wi-Fi Configurations
  • Creating Wi-Fi Network Configurations
  • Device Vibration
  • Controlling device vibration

INTRODUCTION SMS AND MMS

  • Using SMS and MMS in Your Application
  • Sending SMS and MMS from your Application
  • Using Intents and the Native Client
  • Sending SMS Messages Manually
  • Tracking and Conforming SMS Message
  • Delivery
  • Conforming to the Maximum SMS
  • Message Size Sending DAT Messages

CONTENT PROVIDERS

  • What is content provider
  • How to access build in Content provider
  • Retrieving build - in Content provider data

ANDROID TELEPHONY

  • Lanching the Dialer to Initiate Phone
  • Calls Replacing the Native Dialer
  • Accessing phone and Network Properties & Status
  • Reading Phone Device Details
  • Reading Data Connection and Transfer State
  • Reading Network Details

SENSOR DEVICE

  • Using sensors and the sensor manager
  • Introducing Sensors
  • Supported Android Sensers
  • Finding Sensors
  • Using Sensors
  • Interpreting the sensor values
  • Using the compass , accelerometer and orientation sensors
  • Introducing Accelerometers
  • Detecting Acceleration Changes
  • Creating a G-Forceometer

FURTHER ADVANCED TOPICS

  • Binding Activities to services
  • Prioritizing Background services
  • Binding data with service

WEB SERVICES WITH ARCHITECTURE

  • What are webservices
  • Web service Architecture
  • REST & SOAP
  • Parsing Techniques JSON, XML
  • Consuming WebServices
  • CRUD Operations over Server

JSON

  • Introduction to JSON
  • Advantages of JSON over XML
  • Syntax & Structure of JSON
  • Why is JSON is preferred for mobile applications
  • Different types JSON Parsers ,simple json , Jackson , GSON to parse the JSON

Volley Library

  • Introduction Volley Library
  • Volley Library Advantages
  • Volley Library Components
  • How to setup the Environment
  • Creating Volley singleton class
  • Different Types of Requests
  • Adding request headers
  • Handling Volley Cache

FIREBASE

  • Realtime Database
  • Cloud Storage
  • Authentication
  • Cloud Messaging
  • AdMob Crash
  • Reporting

GOOGLE CLOUD MESSAGING

  • What is GCM ?
  • GCM Architecture
  • GCM Services
  • Instant Messaging
  • TTL (Time to Live)
  • Group Messaging
  • Server Communication

Integration

  • Facebook Integration
  • Twitter Integration
  • Google/Gmail Integration
  • Payment Gateway Integration

MATERIAL DESIGN

  • List and Card View Shadows/ Custom Shadows
  • App Bar /Action Bar
  • Matterial Theme
  • Adapter view and Recycler View

ANIMATION

  • Clockwise
  • Zoom
  • Fade
  • Blink
  • Move
  • Slide

DEBUGGING AND TESTING ANDROID APPS

  • 20g Cat
  • Debugger Trace View
  • Monkey Runner
  • UI Automator

COCOS - 2D

  • Introduction to COCOS-2D
  • How to setup the Environment for COCOS-2D
  • COCOS-2D Components <
  • CCDirector
  • CCLayer
  • CCNode
  • CCSprite
  • CCMenus Cocos-2D Actions ( CCMoveTo , CCRotateTo, CCJumpTo, CCScale , CCOrbit , CCBlink , CCFadeIn/Out …..)
  • CCSequence & CCRepeat actions.

JUNIT

  • Android automated testing
  • Android test strategy
  • How to test Android applications
  • What to test on Android applications
  • Testing preconditions
  • User interface tests
  • Which tests require an Android system to run?
  • Testing standard Java classes
  • Testing Java classes which use the Android
  • Android test projects and running tests
  • Creating a test project & Running tests

Kotlin

Kotlin for Android Development

  • Introduction and Setup the environment
  • Introduction
  • Install java JDK
  • Install IntelliJ IDEA

Variables

  • Program concept
  • Run first App
  • Variable Concept
  • Define Variables
  • Var vs Val
  • Input data – ReadLine
  • Add Comments
  • Null safety

Operations and Priorities

  • Convert between Data Type
  • Math operations.
  • Priorites
  • Increment and Decrement
  • What is the Output
  • Debug your Code step by step

Decision Making

  • Logic statement
  • Simple IF
  • IF- Else
  • IF- ElseIF
  • Nested IF
  • When
  • Expression If and When

Loop Control

  • Simple For Loop
  • Nested For Loop
  • While Loop
  • Do While Loop
  • Returns and Jumps

Collections and Strings

  • String
  • One-Dimension Array structure
  • One-Dimension Array implementation
  • ArrayList
  • HashMap
  • mapOf, Arrayof, listOf and mutableListOf
  • setOf and mutableSetOf

Functions

  • Simple Function
    Function Overload
    Polymorphism
    Global and Local Variables

Object Oriented Programming

  • What is oops
    Simple Class
    constructor
    Inheritance
    Visibility Modifiers
    Overriding
    Casting
    super and this
    interface
    Abstract
    Enum
    Generic
    Extensions
    Packages
    Inner and Nested Class
    Lazy and Singleton design pattern

Storage||Files

  • Exceptions: Try-Catch
    File Write
    File Read

Multi Threading

  • Multi Threading Concept
    Multi Threading example

Implementation of Kotlin in Adnroid Application

Final Project

100% Placement assistance will be given only if student do training