Android Development


Our idea of developing Android apps is to solve day to day simple but important problems. We develop custom mobile apps which will help you minimize your hectic day to day business activities, or keep track of your works and colleagues, or help you keep synchronized with your customers.

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
Case Study