@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