Programming for Android Using Android Studio Training

Course #:WA1921

Programming for Android Using Android Studio Training

Courseware: Available for sale

Android is an open source platform for mobile computing. Applications are developed using the official Android development tool, Android Studio. This Android training course teaches students the architecture, API and techniques to create robust, high performance and appealing applications for the Android devices. While many classes focus on the mobile device, this Android development training course also deals with the server side architecture. This makes this Android development training course ideal for enterprise class businesses. After taking this Android training course, students will be able to build robust and high performance applications for the enterprises.

What students will learn?

  • The architecture of Android OS.
  • Using the Eclipse based development environment.
  • GUI development.
  • Supporting multiple languages.
  • Accessing data from files, network and SQL database.
  • Audio and video playback.
  • Automated testing of your applications.
  • Selling your applications in Android market.

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

Duration

5 days

Outline of Programming for Android Using Android Studio Training

Chapter 1. Introduction to Android

  • What is Android?
  • A Short History
  • Advantages of Android
  • Disadvantages of Android
  • Android Version Distribution
  • Android Market Share
  • References
  • Summary

Chapter 2. The Development Environment

  • What Do We Need?
  • Setting Up the SDK
  • Setting Up the SDK – Bundle Install
  • Setting Up the SDK – Manual Install
  • Android Studio
  • Studio Welcome Dialog
  • Android Studio Projects
  • Android Studio Interface
  • Visual Designer
  • Gradle Build System
  • Modifying Android Project Settings
  • Virtualization and Android Studio
  • Create a Virtual Device
  • Creating a Project
  • Running Your Application
  • Run Configuration
  • Debugging an Application
  • Developing for Multiple Android Versions
  • Migrating to Android Studio from Eclipse
  • Summary

Chapter 3. The Architecture of Android

  • Key Components Stack
  • The Kernel
  • Libraries
  • The Android Runtime JVM
  • Application Framework
  • Applications
  • Support Libraries
  • Summary

Chapter 4. Application Fundamentals

  • Recapping The Basics
  • Packaging an Application
  • Application Reusability Architecture
  • The Manifest File
  • Activity
  • Creating an Activity Class
  • Activity Lifecycle
  • Launching an Activity
  • Pausing and Stopping an Activity
  • Destroying an Activity
  • Activity Destruction Under Resource Shortage
  • Saving State
  • Creating Views
  • Registering an Activity
  • The Default Activity
  • Process Lifecycle
  • The Application Class
  • The Application Context
  • Summary

Chapter 5. Basic GUI Programming

  • The Fundamentals
  • View Hierarchy
  • Creating Views Programmatically
  • Creating View in XML Layout
  • More on XML Layout
  • Common Programming Tasks with Views
  • TextView and EditText
  • Multi-Line Text
  • Ellipsize Long Text
  • Button
  • CheckBox
  • RadioButton and RadioGroup
  • ToggleButton
  • ImageView
  • RatingBar
  • Summary

Chapter 6. Layout Management

  • Background
  • LinearLayout
  • LinearLayout Orientation
  • match_parent (fill_parent) Example
  • Layout Gravity
  • Weight
  • TableLayout
  • Managing the Width
  • RelativeLayout
  • RelativeLayout Example
  • ScrollView
  • HorizontalScrollView
  • Summary

Chapter 7. Resource Management and Localization

  • Introduction
  • Main Types of Resources
  • Defining Value Resources
  • Defining String Arrays
  • Creating Image Resource
  • Alternate Resource Folders
  • Alternate Folder Name Rules
  • Eclipse Tools for Android XML Files
  • How Android Finds Resources
  • Dealing with Screen Orientation
  • Orientation Change and Activity Lifecycle
  • Fix Orientation
  • Developing for Tablets
  • Basics of Localization
  • Testing for Localization
  • Loading Localized String from Code
  • Summary

Chapter 8. Intents and Intent Filters

  • What is an Intent?
  • The android.content.Intent Class
  • Explicitly Specifying Component's Class
  • Example: An Activity Launching Another Activity
  • Implicit Target Component Specification
  • Intent Filters
  • Data Type Filter
  • Action Name
  • Category Name
  • Hint Matching Logic
  • Example Hint Matching
  • Default Component of an Application
  • Starting an Activity
  • Getting Output from Activity
  • Example of Launcher: ActivityA
  • Example of Launched: ActivityB
  • Pending Intent
  • Summary

Chapter 9. Fragments and Supporting Different Screens

  • The Problem
  • Screen Density
  • Screen Size
  • Size Qualifiers in Android 3.2
  • Supporting Multiple Screens
  • Declaring Screen Support in Manifest
  • Screen Compatibility Mode
  • Providing Alternate Resources
  • Scaling Images
  • Providing Alternate Layout for Large Devices
  • Fragments
  • Fragment Example
  • Creating a Fragment
  • Adding a Fragment to an Activity
  • Managing Fragments
  • Detecting Fragments From Activities
  • Communicating With an Activity
  • Using Fragment Callback Interface
  • Fragment State
  • Supporting Fragments on Older Devices
  • Putting It All Together
  • Testing on Multiple Screens
  • Summary

Chapter 10. Application Menu

  • Introduction
  • Defining Menu Items
  • Menu XML File
  • Option Menu
  • Populating Menu Items from Resource
  • Manipulating Menu Items
  • Handling Menu Item Click Event
  • Context Menu
  • Showing a Context Menu
  • Handling Context Menu Item Click
  • Summary

Chapter 11. 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 12. Menus With Action Bar

  • Action Bar Overview
  • Enabling the Action Bar
  • 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 13. 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 14. Network Programming

  • Introduction
  • Communication Using HTTP Protocol
  • Creating a HttpClient Object
  • Making a GET Request
  • Making a POST Request
  • Setting Timeout
  • Using Basic Authentication
  • Using Custom Authentication
  • XML Parsing Options
  • Setting Up XML Pull Parser
  • The Main Loop
  • Example XML Document
  • Example Parsing Code
  • Checking Network Status
  • Summary

Chapter 15. 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 16. 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 17. 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 18. 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 19. 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 20. 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 21. Broadcast Receiver

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

Chapter 22. 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 23. 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 24. 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 25. 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

Chapter 26. What's New in Android Lollipop (5.0)

  • Overview of Android Lollipop
  • Material Design
  • Notification Changes
  • Android Lollipop and Enterprise Users
  • "Document Centric" Applications
  • Job Scheduling
  • Android TV and Wearables
  • Android Studio
  • Other Miscellaneous Changes
  • Summary

Lab Exercises

Lab 1. Setting up the Development Environment
Lab 2. Developing a Simple Application
Lab 3. Basic UI Development
Lab 4. Basics of Activity and Process Lifecycle
Lab 5. Using Simple Views
Lab 6. Layout Management
Lab 7. Resource Management
Lab 8. Localization
Lab 9. Using Intent to Launch Activities
Lab 10. Using Fragments
Lab 11. Working With Application Menu
Lab 12. Showing Notification Messages
Lab 13. Convert Menu for Action Bar
Lab 14. Custom ListView Adapter
Lab 15. Using a Spinner
Lab 16. Tabbed Interface
Lab 17. Network Programming
Lab 18. Performing Background Work
Lab 19. Using Loaders for Background Work
Lab 20. Working With File Storage
Lab 21. Caching Network Data on Disk
Lab 22. Content Provider and Consumer
Lab 23. Development Using SQLite Database
Lab 24. Play Audio Files
Lab 25. Develop a Simple Service
Lab 26. Developing Broadcast Receiver
Lab 27. Location Based Application
Lab 28. Using the Telephony API
Lab 29. Unit Testing an Application
Lab 30. Packaging and Installing Application