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