Overview of Android
Java Editions and comparison with Android
Android Apps – Design, Vendor, Behavioral Classification
Android Architecture
Application Frameworks
Android Libraries, Run time, Dalvik Virtual Machine
System Requirements
Java, Eclipse and Android SDK Installation
Android SDK and Tools
Android Virtual Devices & Device Definitions
Android Application Design
Using PhotoShop for Graphic Designing
Android Application Wireframes (screens)
Creating Android Application
Creating Configurations
Testing the app: AVD, Active Device
Android Project Structure and Manifest file
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
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
Creating a Test Project for Android project
Working with Test Packages
Writing test cases
Designing fragments
Fragments life cycle
Fragment management and integration
Creating the Activity
XML versus Java UI
Selection Widgets, Using fonts
Common UI components
Handling UI events: a bit about listeners
Adapters
Complex UI components
Menus and Dialogs
Tabbed Activities
Navigation Drawer
Animations
Create activity layouts programmatically
Testing and optimizing UI
What is material ?
Material properties and Styling / Animations
Material Patterns
Overview of Android Resources
Creating Resources
Using Resources
Drawable Resources
Animation Resources
Broadcast receiver usage patterns: when and why to use them
Implementing a broadcast receiver
Registering a broadcast receiver via the manifest file and Programmatically
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
Working with Intents
Explicit and implicit intents
Using Intents as messaging objects
Intents to start components expecting results
Storage Model selection criteria
Shared preferences
Internal Storage – Files
External Storage – SD Card
Testing the created files, tools
Introducing SQLite
SQLiteOpenHelper and creating a database
Opening and closing a database
Working with cursors
Inserts, updates, and deletes
Content provider types
Searching for content
Adding, changing, and removing content
Native Android Content Providers
Accessing Contact Book, Calendar
Custom Content Provider classes
Publishing content providers
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
Document Object Model ( DOM )
Simple API for XML ( SAX )
JavaScript Object Notation ( JSON )
Parsing XML and JSON
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
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 background
Accessing telephony information
Monitoring data activity and connectivity
Working with messaging SMS
Playing Audio & Video
Recording Audio & Video
Customizing Camera & Capturing Photos
Voice Recognition
Text To Speech
Controlling local Bluetooth device
Discovering and bonding with Bluetooth devices
Managing Bluetooth connections
Communicating with Bluetooth
Facebook Integration
Logcat
Debugger
Traceview
HierarchyViewer
Monkey Runner
UIAutomator