Select Course

Android Programming and Application Development

Duration: 160 Hrs
Prerequisites: Knowledge of Java Programming
Recommended Next Course: Advanced Android
Android Overview and History
  • How it all got started
  • Why Android is different (and important) 

Android Stack

  • Overview of the stack
  • Linux kernel
  • Native libraries
  • Dalvik VM
  • Application framework

Android Components

  • Activities
  • Services
  • Broadcast Receivers
  • Content Provider 

SDK Overview

  • Platforms
  • Tools
  • Versions 

Hello World App

  • Creating your first project
  • The manifest file
  • Layout resource
  • Running your app on Emulator

Building UI with Activities

  • Activities
  • Views, layouts and Common UI components
  • Creating UI through code and XML
  • Activity lifecycle
  • Intents
  • Communicating data among Activities 

Advanced UI

  • Selection components (GridView, ListView, Spinner )
  • Adapters, Custom Adapters
  • Complex UI components
  • Building UI for performance
  • Menus
  • Creating custom and compound Views

Notifications

  • Toast, Custom Toast
  • Dialogs
  • Status bar Notifications 

Multithreading

  • Using Java Mutithreading classes
  • AsyncTask
  • Handler
  • Post
  • Writing an animated game

Styles And Themes

  • Creating and Applying simple Style
  • Inheriting built-in Style and User defined style
  • Using Styles as themes

Resources and Assets

  • Android Resource
  • Using resources in XML and code
  • Localization
  • Handling Runtime configuration changes 

Fragments

  • Introduction to Fragments
  • How to use fragments through code and xml
  • Fragment life cycle
  • Creating fragments with and without UI
  • Inter fragment data communication
  • Using built in fragment

Intent, Intent Filters and Broadcast Receivers

  • Role of filters
  • Intent-matching rules
  • Filters in your manifest
  • Filters in dynamic Broadcast Receivers
  • Creating Broadcast receiver
    Receiving System Broadcast
  • Understanding Broadcast action, category and data
  • Registering Broadcast receiver through code and through XML
  • Sending Broadcast

Data Storage

  • Shared Preferences
  • Android File System
  • Internal storage
  • External storage
  • SQLite
    • IntroducingSQLite 
    • SQLiteOpenHelper and creating a database 
    • Opening and closing adatabase 
    • Working with cursors Inserts, updates, and deletes
  • Network 

Content Providers

  • Accessing built in content providers
  • Content provider MIME types
  • Searching for content
  • Adding, changing, and removing content
  • Creating content provider
  • Working with content files 

Services

  • Overview of services in Android
  • Implementing a Service
  • Service lifecycle
  • Inter Process Communication (AIDL Services)

Multimedia in Android

  • Multimedia Supported audio formats 
  • Simple media playback 
  • Supported video formats 
  • Simple video playback

Location Based Services and Google Maps

  • Using Location Based Services
  • Finding current location and listening for changes in location
  • Proximity alerts
  • Working with Google Maps
    • Showing google map in an Activity
    • Using Map Fragment and MapView
    • Customizing maps
    • Working with map marker
    • Custom Markers and Info Windows
    • Drawing on the map
    • Interacting with the map
    • Geocoder
    • Displaying route on map
    • Street View using street view panorama

Web Services and WebView

  • Understanding HTTP request response model
  • Consuming web services
  • Receiving HTTP Response (XML, JSON )
  • Parsing JSON and XML
  • Using WebView

Sensors

  • How Sensors work
  • Using Orientation and Accelerometer sensors
  • Best practices for performance

WiFi

  • Monitoring and managing Internet connectivity 
  • Managing active connections 
  • Managing WiFi networks

Telephony Services

  • Making calls 
  • Monitoring data connectivity and activity 
  • Accessing phone properties and status 
  • Controlling the phone
  • Sending messages

Camera

  • Taking pictures
  • Media Recorder
  • Rendering previews 

Bluetooth

  • Controlling local Bluetooth device 
  • Discovering and bonding with Bluetooth devices 
  • Managing Bluetooth connections 
  • Communicating with Bluetooth

Android Application Deployment

  • Android Application Deployment on device with Linux and Windows
  • Android Application Deployment on Android Market