Introduction to Android

  • What is Android?
  • Setting up development environment
  • Dalvik Virtual Machine & .apk file extension
  • Fundamentals
  • Android API levels (versions & version names)

Application Structure

  • AndroidManifest.xml
  • uses-permission & uses-sdk
  • Resources & R.java
  • Assets
  • Layouts & Drawable Resources
  • Activities and Activity life cycle
  • First sample Application

Emulator-Android Virtual Device

  • Launching emulator
  • Editing emulator settings
  • Emulator shortcuts
  • Logcat usage
  • Introduction to DDMS

Basic UI design

  • Form widgets
  • Text Fields
  • Layouts
  • [dip, dp, sip, sp] versus px

Preferences

  • Shared Preferences
  • Preferences from xml

Menu

  • Option menu
  • Context menu
  • Sub menu
  • Menu from xml
  • Menu via code

Intents

  • Explicit Intents
  • Implicit intents

UI design

  • Time and Date
  • Images and Media
  • Composite
  • Alert Dialogues & Toast
  • Pop-up

Styles & Themes

  • Styles.xml
  • Drawable resources for shapes, gradients (selectors)
  • Style attribute in layout file
  • Applying themes via code and manifest file

Content Providers

  • SQLite Programming
  • SQLite Open Helper
  • SQLite Database
  • Cursor
  • Reading and Updating Contacts
  • Reading Bookmarks

Adapters and Widgets

  • Adapters
  • Array Adapters
  • Base Adapters
  • List View and List Activity
  • Custom List View
  • Grid View Using Adapters

Notifications

  • Broadcast Receivers
  • Services and Notifications
  • Toast
  • Alarms

Custom Components

  • Custom Tabs
  • Custom Animated pop-up Panels
  • Other Components

Threads

  • Threads running on UI thread (runOnUiThread)
  • Worker Thread
  • Handlers & Runnable
  • AsynTask (in detail)

Advanced

  • Using sdcards
  • Multi-touch features

Parsing

  • XML Parsing
  • JSON Parsing

Localization

  • Maps
  • GPS
  • Location based Services

Multimedia Programming

  • Accessing Phone services (Call, SMS, MMS)
  • Network connectivity services
  • Sensors
Introduction To Android Wear

  • Android Wear Platform
  • Usage Patterns
  • Design Philosophy
  • Development Details

Adding Wearable Features to Notifications

  • Creating a Notification
  • Receiving Voice Input in a Notification
  • Adding Pages to a Notification
  • Stacking Notifications

Creating Wearable Apps

  • Creating and Running a Wearable App
  • Creating Custom Layouts
  • Adding Voice Capabilities
  • Packaging Wearable Apps
  • Debugging over Blue-tooth

Creating Custom User Interface

  • Defining Layouts
  • Creating Cards
  • Creating Lists
  • Creating a 2D Picker
  • Showing Confirmations
  • Exiting Full-Screen Activities

Sending and Syncing Data

  • Accessing the Wearable Data Layer
  • Syncing Data Items
  • Transferring Assets
  • Sending and Receiving Messages
  • Handling Data Layer Events

Detecting Location on Android Wear

  • Connect to Google Play Services
  • Request Location Updates
  • Detect On-Board GPS
  • Handle Disconnection Events
  • Handle Location Not Found
  • Synchronize Data