@page { margin: 2cm }
		p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: left; orphans: 2; widows: 2 }
		a:link { so-language: zxx }
	
Android
Pre-requisites Model (Level 1)
	- 
		 
		IT
		Development, IT Training, Placement, Outsourcing, Consultancy Introduction to Java's dual nature (language
	and platform)
- 
Introduction
	to Sun's/Oracle's Java SE 
- 
Download
	and install the Java SE Development Kit (JDK) 
- 
Setting
	PATH and CLASSPATH environment variables 
- 
Executing
	Simple Hello World java programs using command prompt 
- 
Introduction
	to Eclipse IDE 
- 
Create
	simple Java Project, write and execute Hello World using IDE 
- 
Using
	breakpoints and Java Debugger to step through in Eclipse 
- 
Concept
	of java packages, naming convention of java packages 
- 
Concept
	of encapsulation and classes, inheritance, polymorphism 
- 
Concept
	of Overriding and overloading of methods 
- 
Casting
	objects 
- 
Concept
	of inner classes, anonymous inner classes 
- 
Introduction
	to Interfaces and its uses 
- 
Introduction
	to Java's collections framework - Lists, Set and Maps 
- 
Introduction
	to Threads 
- 
Create
	Threads - Runnable and Extending examples 
- 
Multiple
	threading 
- 
Thread
	Synchronization and its importance 
- 
Thread
	interrupted Exception 
- 
Reading
	and Writing to files 
- 
Introduction
	to Serialization and Deserialization 
- 
Introduction
	to XML 
Android
Basic Module (Level 2)
GETTING
STARTED WITH ANDROID PROGRAMMING (2 hrs)
	- 
What
	is Android? 
- 
Features
	of Android 
- 
Android
	Architecture 
- 
Android
	runtime, Processes and the Zygote 
- 
Android
	Application Launch sequence 
- 
Dalvik
	Virtual Machine 
- 
Setting
	up the Android Development Environment 
- 
Creating
	Android Virtual Device 
- 
Using
	DDMS View and Log Cat to debug 
- 
Creating
	your First Android Application 
- 
Anatomy
	of Android Application 
Android
Application Components (5 hrs)
	- 
Android
	Application Life Cycle 
- 
Intents 
- 
Resolving
	Intent filter collision 
- 
Returning
	results from Intent 
- 
Passing
	Data using Intent 
- 
Calling
	built in applications using Intents 
- 
Displaying
	Notifications 
Android
User Interface (5 hrs)
	- 
Activity
	and Components of a screen 
- 
Views
	and View groups (Layouts) 
- 
Screen
	Sizes and Density Independent Pixel calculation 
- 
Converting
	DIP to Pixel 
- 
Handling
	display orientation changes 
- 
Programmatic
	Ul Creation vs XML based Ul 
- 
Event
	Handling of Views 
Exploring
Views and View Groups (5 hrs)
	- 
TextView,
	EditText, Button, CheckBox, Toggle Button, Radio Button 
- 
Timepicker
	and Datepicker views 
- 
ListView
	and SpinnerView 
- 
Progressbar
	view 
- 
Autocomplete
	TextView 
- 
WebView 
Exploring
Menus (5 hrs)
Fragments
(6 hrs)
	- 
What
	are Fragments? 
- 
Advantages
	of using Fragments 
- 
Declaring
	Fragments using XML 
- 
Adding
	Fragments Dynamically 
- 
LifeCycle
	of Fragment 
- 
Communication
	between Fragments 
- 
Specialized
	Fragments - 
- 
ListFragment 
- 
DialogFragment 
- 
PreferenceFragment 
Data
Persistence (6 hrs)
	- 
Using
	shared preferences 
- 
Using
	File System 
- 
Reading/Writing
	data to SD card 
- 
Using
	SQLiteData base 
- 
Pre-creating
	database and bundling with application 
- 
Using
	SQLiteManager Eclipse plugin 
- 
Guidelines
	on choosing data persistence technique 
Content
Providers (6 hrs)
	- 
What
	are content providers? 
- 
Why
	should you use content providers? 
- 
Using
	Contacts Content Provider 
- 
Concept
	of Cursor Loaders 
- 
Using
	Projection, filtering and sorting content provider data 
- 
Writing
	custom content provider 
Android
Services (6 hrs)
Intent
Service - Running Asynchronous task in separate thread (6 hrs)
	- 
Communication
	between Service and Activity 
- 
Binding
	Activities to Services 
- 
How
	to avoid Application Not Responding message (ANR)? 
- 
Ul
	Thread event loop 
- 
Non
	Ul or Worker Threads 
- 
Using
	AsyncTask to avoid overloading Ul Thread 
Advanced
Android Module (Level 3)
	
	IT
	Development, IT Training, Placement, Outsourcing, Consultancy
Connecting to outside world (6 hrs)
	- 
Download
	binary and text data using HTTP 
- 
Accessing
	web services using HTTP 
- 
Parsing
	XML returned by web services 
- 
Consuming
	JSON web services 
Telephony
and SMS (6 hrs)
Location
Based Services (4 hrs)
Using
Google Maps v2 (4 hrs)
	- 
Downloading
	and configuring Google Play 
- 
Using
	Google API console 
- 
Obtaining
	Map Keys using SHA-1 fingerprint 
- 
Using
	Map Fragment to display maps 
Preparing
your App for Publishing (4 hrs)
	- 
Development
	Lifecycle for Android applications 
- 
Digitally
	Signing Android Applications 
- 
Signing
	in Debug Mode 
- 
Creating
	Release Keystore and Signing in release mode 
- 
Using
	Keytool and Jarsigner utility 
- 
Application
	signing strategy 
- 
Application
	Signing using Eclipse ADT 
- 
Publishing
	on the Android Market 
- 
Application
	Versioning 
- 
Using
	ADB tool to deploy APK files