Advanced Programming for Android Using Android Studio Training

Course #:WA1966

Advanced Programming for Android Using Android Studio Training

Courseware: Available for sale

This Android Programming course teaches more advanced programming topics for the Android platform. Students will learn to use database and network in their programs. This Android Programming course is ideal for developers who want to take their Android skills to the next level.

What students will learn?

  • Advanced GUI topics like ListView, WebView and tabbed layout.
  • Working with files and SQL database.
  • Content provider
  • Network programming.
  • Performing tasks in the background.
  • Play audio and video.
  • Automate Unit test applications.
  • Package and sell applications.

Audience

Developers and architects who will be developing applications for Android devices.

Prerequisites

To succeed fully in this course, students should be able to:

  • Program Java applications - Course WA1278 meets this requirement
  • Program basic Android applications - Course WA1965 meets this requirement

Duration

3 days

Outline of Advanced Programming for Android Using Android Studio Training

Chapter 1. Introduction to Android

  • What is Android?
  • A Short History
  • Open Source
  • Advantages of Android
  • Disadvantages of Android
  • Android Version Distribution
  • Android Market Share
  • Phones by manufacturer
  • References
  • Summary

Chapter 2. Menus With Action Bar

  • Android Navigation
  • Action Bar Overview
  • Anatomy of the Action Bar
  • Action Bars in the Wild
  • Using an Existing Menu Definition
  • Adding Action Items
  • Handling Clicks on Action Items
  • Split Action Bar
  • Up Navigation
  • Using Action Views
  • Drop-down Navigation
  • Summary

Chapter 3. Showing Notification Messages

  • Introduction
  • Toast
  • Popping a Toast
  • Controlling Toast Position With Gravity
  • Custom Toast View
  • Status Bar Notification
  • Normal Notification View
  • Advantages of Status Bar Notification
  • Steps to Create a Status Bar Notification
  • Posting the Notification
  • Using a Utility Method
  • Notification IDs
  • Notification Defaults and Flags
  • Notification.Builder Class
  • Using Dialogs
  • AlertDialog
  • Handling Button Click Events
  • ProgressDialog
  • Setting Progress Amount
  • Summary

Chapter 4. Advanced GUI Development

  • Spinner View
  • Creating a Spinner
  • Handling Item Selection Event
  • The ListView
  • Creating a ListView
  • Handling ListView Events
  • The Adapter Model
  • Custom Adapter Class
  • Example Adapter
  • Using an Adapter
  • Using a Custom Row Layout
  • Tabbed UI Layout
  • Configuring Action Bar for Tabs
  • The ActionBar.TabListener Interface
  • ViewPager
  • ViewPager Layout
  • PagerAdapter
  • Linking ViewPager and PagerAdapter
  • Linking Tabs and ViewPager Pages
  • ViewFlipper
  • WebView
  • WebView Methods
  • Summary

Chapter 5. Background Task Processing

  • Introduction
  • The Handler Framework
  • The Basic Approach
  • Creating a Handler
  • Posting a Message
  • Doing Background Work
  • AsyncTask
  • Callback Methods of AsyncTask
  • Doing the Work
  • Starting Work
  • Getting Result from the Task
  • Updating GUI From the Task
  • Ending the Task
  • Loaders
  • Implementing a Loader
  • Use LoaderManager to Initialize Loader
  • Implement LoaderCallbacks
  • Summary

Chapter 6. Network Programming

  • Introduction
  • Communication Using HTTP Protocol
  • Connection
  • Connection Configuration
  • Retrieving Data
  • Retrieve Data Example
  • Using AsyncTask
  • doInBackground
  • JSON
  • Parsing JSON
  • OnPostExecute
  • Review

Chapter 7. Data Storage

  • Data Storage Options
  • Data Privacy
  • Shared Preferences
  • Modifying Shared Preferences
  • Shared Preferences Example
  • Default Preferences
  • Editing Preferences
  • Example: Editing Preferences
  • Internal Storage
  • Example: Write to Internal Storage
  • Example: Read from Internal Storage
  • Private Directory
  • Cache Directory
  • Example: Writing to Cache File
  • External Storage
  • Checking State of External Storage
  • Working with Private External Storage
  • Example: Writing to External Storage
  • Shared External Storage
  • Shipping Files with the Application
  • Working with Raw Resource Files
  • Working with Asset Files
  • Summary

Chapter 8. Content Provider

  • Introduction
  • Use of URL
  • The Structure of Data
  • MIME Type
  • Creating a Content Provider
  • Implement the query() Method
  • Example query() Method
  • Implement the insert() Method
  • Example insert() Method
  • The update() and delete() Methods
  • Implement getType()
  • Registering a Provider
  • Writing a Data Consumer
  • Performing a Query
  • Example Query by a Consumer
  • Example: Inserting Record
  • Summary

Chapter 9. SQL Database Storage

  • Introduction
  • Opening a Database Connection
  • Transaction Management
  • A Pattern for Connection and Transaction Handling
  • Creating Schema
  • Compiled SQL Statement
  • Inserting Data
  • Updating Data
  • Deleting Data
  • Fetching Data
  • Example Queries
  • Iterating Over a Cursor
  • Reading Column Values from Cursor
  • A Complete Example
  • Cursor Management
  • Binding Cursor to ListView
  • Custom Data Binding
  • Handling Item Click Event
  • Refreshing the ListView
  • Schema Creation Issues
  • Example Helper Class
  • Using the Helper Class
  • Summary

Chapter 10. Multimedia Programming

  • Introduction
  • Recording Audio
  • Start Recording Audio
  • Stop Recording
  • Playing Audio
  • Playing from Raw Resource
  • Playing from a File or Network Stream
  • Stopping and Cleanup
  • Video Playback
  • Playing Video
  • Summary

Chapter 11. Background Services

  • What is a Service?
  • Creating a Service
  • Example Service Class
  • Starting and Stopping a Service
  • Starting Long Running Work
  • Sending Control Messages to a Service
  • Using IntentService
  • Usability Guidelines
  • Summary

Chapter 12. Broadcast Receiver

  • Introduction
  • Developing a Broadcast Receiver Component
  • Registering a Receiver
  • Broadcasting a Custom Intent
  • Sticky Event Broadcasting
  • Summary

Chapter 13. Location Based Services

  • Introduction
  • Guidelines for Obtaining Current Location
  • Obtaining Current Location from an Activity or Service
  • Reading Location Data
  • Other Considerations
  • Proximity Alert
  • Geocoding
  • Example Geocoding and Reverse Geocoding
  • Using MapView
  • Setting up the Project
  • Showing MapView from an Activity
  • Summary

Chapter 14. Android Telephony API

  • Common Uses of Telephony API
  • Making a Phone Call
  • Sending SMS Message
  • Call and Service State
  • Monitoring Call and Service State
  • Register the Listener
  • Getting Detail Phone Information
  • Summary

Chapter 15. Testing Applications

  • Introduction
  • New Sources of Defects
  • Special Testing Considerations
  • Android Testing Framework
  • The Architecture
  • Testing in Android Studio Projects
  • Test Results in Android Studio
  • Test Case Class for an Activity
  • Test Case Initialization
  • Writing a Test Case Method
  • Service Test Case Class
  • Useful Methods of an Activity Test Case Class
  • Additional Assertion Function
  • The TouchUtils Class
  • Developing and Testing on a Device
  • Stress Test Monkey
  • Third Party Testing Tools
  • Summary

Chapter 16. Packaging and Distributing Applications

  • Introduction
  • Pricing Options
  • Getting the Application Ready
  • About Signing the Application
  • Exporting and Signing the Application
  • Going to Google Play
  • Doing Maintenance
  • Summary

Lab Exercises

Lab 1. Setting up the Development Environment
Lab 2. Implementing the Action Bar
Lab 3. Showing Notification Messages
Lab 4. Custom ListView Adapter
Lab 5. Using a Spinner
Lab 6. Using Loaders for Background Work
Lab 7. Network Programming
Lab 8. Working With File Storage
Lab 9. Content Provider and Consumer
Lab 10. Development Using SQLite Database
Lab 11. Play Audio Files 
Lab 12. Develop a Simple Service
Lab 13. Developing Broadcast Receiver
Lab 14. Location Based Application
Lab 15. Using the Telephony API
Lab 16. Unit Testing an Application
Lab 17. Packaging and Installing Application

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.