@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