Android Development Essentials Course Outline
Duration: 30 hours.
Setting up an Android Development Environment
- Downloading the Android Developer Tools (ADT) Bundle
- Installing the ADT Bundle
- Installing the Latest Android SDK Packages
- Making the Android SDK Tools Command-line
- Updating the ADT
- Adding the ADT Plugin to an Existing Eclipse Integration
Creating an Android Virtual Device (AVD)
- About Android Virtual Devices
- Creating a New AVD
- Starting the Emulator
Creating an Example Android Application
- Creating a New Android Project
- Defining the Project Name and SDK Settings
- Project Configuration Settings
- Configuring the Launcher Icon
- Creating an Activity
- Running the Application in the AVD
- Stopping a Running Application
- Modifying the Example Application
- Reviewing the Layout and Resource Files
Testing Android App on a Physical Android Device with ADB
- An Overview of the Android Debug Bridge (ADB)
- Enabling ADB on Android based Devices
- Manual Selection of the Application Run Target
An Overview of the Android Architecture
- The Android Software Stack
- The Linux Kernel
- Android Runtime - Dalvik Virtual Machine
- Android Runtime – Core Libraries
- Application Framework
The Anatomy of an Android Application
- Android Activities
- Android Intents
- Broadcast Intents
- Broadcast Receivers
- Android Services
- Content Providers
- The Application Manifest
- Application Resources
- Application Context
Understanding Android Application and Activity Lifecycles
- Android Applications and Resource Management
- Android Process States
- The Activity Lifecycle
- The Activity Stack
- Activity States
- Configuration Changes
- Handling State Change
Saving and Restoring the User Interface State of an Android Activity
- Saving Dynamic State
- The Bundle Class
- Saving the State
- Restoring the State
- Testing the Application
Understanding Android Views, View Groups and Layouts
- Designing for Different Android Devices
- Views and View Groups
- Android Layout Managers
- The View Hierarchy
- Creating User Interfaces
Designing an Android User Interface using the Graphical Layout Tool
- The Android Graphical Layout Tool
- A Graphical Layout Tool Example
- Adding an XML Resource File to the Project
- Editing View Properties
- Using the View Properties Sheet
- Creating a New Activity
- Adding the New Activity to the Manifest File
- Creating an Android User Interface in Java Code
- Java Code vs XML Layout Files
- Creating Views
- Properties and Layout Parameters
- Creating the Example Project
- Adding Views to an Activity
- Setting View Properties
- Adding Layout Parameters and Rules
- Using View IDs
- Converting Density Independent Pixels (dp) to Pixels (px)
- Using the Android GridLayout Manager in the Graphical Layout Tool
- Introducing the Android GridLayout
- The GridLayout Example
- Working with the Android GridLayout in XML Layout Resources
- GridLayouts in XML Resource Files
- Adding Child Views to the GridLayout
- Declaring Cell Spanning, Gravity and Margins
- An Overview and Example of Android Event Handling
- Understanding Android Events
- Using the android:onClick Resource
- Event Listeners and Callback Methods
- An Event Handling Example
- Designing the User Interface
- The Event Listener and Callback Method
- Consuming Events
- An Introduction to Android Fragments
- What is a Fragment?
- Creating a Fragment
- Adding a Fragment to an Activity using the Layout XML File
- Adding and Managing Fragments in Code
- Handling Fragment Events
- Implementing Fragment Communication
- Creating and Managing Overflow Menus on Android
- The Overflow Menu
- Creating an Overflow Menu
- Displaying an Overflow Menu
- Responding to Menu Item Selections
- Creating Checkable Item Groups
- Creating the Example Project
- Modifying the Menu Description
- Implementing the onOptionsItemSelected() Method
- Testing the Application
- Summary
- Custom Transitions and TransitionSets in XML
- Working with Interpolators
- Creating a Custom Interpolator
- Using the beginDelayedTransition Method
- An Overview of Android Intents
- An Overview of Intents
- Explicit Intents
- Returning Data from an Activity
- Implicit Intents
- Using Intent Filters
- Checking Intent Availability
- Android Explicit Intents
- Creating the Explicit Intent Example Application
- Designing the User Interface Layout for ActivityA
- Creating the Second Activity Class
- Creating the User Interface for ActivityB
- Adding ActivityB to the Application Manifest File
- Creating the Intent
- Extracting Intent Data
- Launching ActivityB as a Sub-Activity
- Returning Data from a Sub-Activity
- Testing the Application
- Android Implicit Intents
- Creating the Implicit Intent Example Project
- Designing the User Interface
- Creating the Implicit Intent
- Adding a Second Matching Activity
- Adding the Web View to the UI
- Obtaining the Intent URL
- Modifying the MyWebView Project Manifest File
- Installing the MyWebView Package on a Device
- Testing the Application
- Android Broadcast Intents and Broadcast Receivers
- An Overview of Broadcast Intents
- An Overview of Broadcast Receivers
- Obtaining Results from a Broadcast
- Sticky Broadcast Intents
- The Broadcast Intent Example
- Creating the Example Application
- Creating and Sending the Broadcast Intent
- Creating the Broadcast Receiver
- Configuring a Broadcast Receiver in the Manifest File
- Testing the Broadcast Example
- Listening for System Broadcasts
- An Overview of Android Started and Bound Services
- Started Services
- Intent Service
- Bound Service
- The Anatomy of a Service
- Controlling Destroyed Service Restart Options
- Declaring a Service in the Manifest File
- Starting a Service Running on System Startup
- An Overview of Android SQLite Databases
- Understanding Database Tables
- Introducing Database Schema
- Columns and Data Types
- Database Rows
- Introducing Primary Keys
- What is SQLite?
- Structured Query Language (SQL)
- Trying SQLite on an Android Virtual Device (AVD)
- Android SQLite Java Classes
- An Android TableLayout and TableRow Tutorial
- The TableLayout and TableRow Layout Views
- Creating the Database Project
- Designing the User Interface Layout
- An Android SQLite Database Tutorial
- About the Database Example
- Creating the Data Model
- Implementing the Data Handler
- Implementing the Activity Event Methods
- Testing the Application
- Understanding Android Content Providers
- What is a Content Provider?
- The Content Provider
- The Content URI
- The Content Resolver
- Implementing an Android Content Provider
- Copying the Database Project
- Adding the Content Provider Package
- Creating the Content Provider Class
- Constructing the Authority and Content URI
- Implementing URI Matching in the Content Provider
- Implementing the Content Provider onCreate() Method
- Implementing the Content Provider insert() Method
- Implementing the Content Provider query() Method
- Implementing the Content Provider update() Method
- Implementing the Content Provider delete() Method
- Declaring the Content Provider in the Manifest File
- Modifying the Database Handler
- Working with the Google Maps Android API
- The Elements of the Google Maps Android API
- Getting Ready to use the Google Maps Android API
- Adding Map Support to the AndroidManifest xml File
- Checking for Google Play Services Support
- Understanding Geocoding and Reverse Geocoding
- Adding a Map to an Application
- Displaying the User’s Current Location
- Changing the Map Type
- Displaying Map Controls to the User
- Handling Map Gesture Interaction
- Creating Map Markers
- Controlling the Map Camera