Course 427:
Getting Started with Android Programming
with Android 7 Nougat

(5 days)


Course Description

In order to create the very best apps possible, it is very important to have a strong foundation in the features and functionality of Android App development. In this course, we cover key features and functionality so you will learn how to create and deploy Android Apps that work.

In addition to learning the fundamentals of developing apps, you will learn how to use Android Studio and take advantage of the newest recommended approaches to quickly create user interfaces and manage the app development process.

By the end of the course, you will have created multiple apps from start to finish. Instructors provide lecture and hands-on training with the tools and concepts to ensure students are able to feel confident to meet the learning objectives. Classroom topics can be customized to your organization.

Learning Objectives

  • Become familiar with the Android Studio development environment
  • Build professional mobile business applications using Java and the Android SDK
  • Create Android Virtual Devices for testing purposes
  • Design multiple UIs using drag-n-drop and XML layouts for phone and tablets
  • Implement Android building blocks: Activities, Services, Providers, and Receivers
  • Use Fragments to make better use of screen real-estate and target multiple devices
  • Create app widgets to accept user input via click events
  • Work with the Status and Navigation system bars
  • Work with Alerts & Notifications
  • Store and retrieve files in internal and external storage
  • Store and retrieve data with the SQLite database
  • Use Web APIs to integrate Android applications
  • Explore working with APIs including location and mapping

Who Should Attend

This course is designed for software developers who are new to Android development and need to create professional mobile applications. Java experience is required to complete this course.

Course Outline

1. Introducing Android for Developers

  • What Is Android?
    • Understanding the Android Market
    • What Makes Android Special?
    • Open Handset Alliance
  • Discussion of Changes and Features in Recent Android Versions
  • Overview of the Android Development and the App Framework
    • Device Compatibility
    • Supporting Different Platform Versions
    • Hardware and Software Tools
    • Building, Debugging, and Testing
    • Publishing Your App
  • The Android Development Environment
    • Setting Up Your Development Environment
    • The Android SDK
    • Using Command Line Tools
    • Using Android Studio, the Official IDE of Android
    • Android Application Modules

2. Working with Projects in Android Studio

  • Exploring an Existing Project and Running Apps
    • Working with Android Studio
    • Learning Project Layout
    • Creating an Android Virtual Device (AVD)
    • Exploring Distributions of Android Platform and API Versions
    • Working with the Emulator
    • Installing HAXM for Better Performance
    • Running an Application on a Real Device
  • Creating New Projects
    • Naming Project Options
    • Choosing Form Factors for Multiple Device Types
    • Customizing Activities
    • Exploring Generated Contents of Project
    • Creating a Launcher Icon for the Application
  • Executing and Testing Android Applications
    • Building an Android Package File (APK)
    • Testing on Emulators
    • Testing on Actual Devices

3. Introducing Fundamentals of Android Application Development

  • Making Sense of Application Components
    • Implementing a User Interface Through Activities
    • Performing Long-Running Operations Using Services
    • Sharing Data Across Applications Using Content Providers
    • Responding to System-Wide Announcements Using Broadcast Receivers
  • Activating Components
  • Configuring Android Applications Using the Android Manifest File
  • Introducing Material Design
  • Responding to Errors and Using the Debugger

4. Learning Android Studio Basics by Creating a User Interface Visually

  • Understanding ViewGroups and Views
  • Positioning Views Using Constraint, Relative, and Linear Layouts
  • Designing a GUI Using the IDE’s Layout Editor
  • Inserting Widgets into a Layout
  • Setting Common Properties of Views
  • Adding Input Controls
  • Buttons, Text Field, Checkbox, Radio Buttons, Toggle Buttons, Spinners, Pickers
  • Leveraging Common Controls
  • Using Graphics to Show Button State
  • Making Apps Accessible
  • Internationalizing Apps
  • Defining and Applying Styles and Themes

5. Managing Activities and the Activity Lifecycle

  • Understanding the Activity Lifecycle
  • Starting an Activity
  • Pausing and Resuming and Activity
  • Stopping and Restarting an Activity
  • Recreating Destroyed Activities
  • Saving Activity State
  • Switching Between Activities with Intents
  • Passing Data to Another Activity
  • Returning a Result from an Activity

6. Intercepting User Input Events

  • Responding to User Input Events
  • Using Event Listener Callback Methods
  • Writing Java Event Handlers
  • Integrating with the Android System
  • Using Touch Gestures
  • Handling Keyboard Input

7. Creating Menus

  • Creating and Modifying Menus
  • Displaying Context Options with Contextual Mode
  • Allowing Multiple Selections with Contextual Batch Mode in a ListView
  • Providing Additional Options with a Pop-up Menu
  • Creating a Long‐Press Action

8. Using Fragments to Encapsulate Screen Functionality into Reusable Components

  • Understanding the Fragment Lifecycle
  • Creating and Using a Fragment
  • Adding and Removing Fragments During Runtime
  • Passing Data Between Fragments
  • Navigating with Fragments

9. Working with Alerts & Notifications

  • Best Practices in Using Notifications
  • Showing and Dismissing Dialogs
  • Creating and Managing Notifications

10. Persisting Application Data

  • Save and Retrieve Key-values Using SharedPreferences
  • Working with the SQLite Database
  • Exposing Read/Write Access with Content Providers

11. Enhancing the User Experience

  • Leveraging Location and Maps-Based Capabilities
  • Capturing and Playing Audio, Video, and Images

12. Exchanging Data over the Internet

  • Interacting with Server-Side Applications
  • Developing Clients for Web Services
  • Connecting to RESTful Services
  • Creating and Parsing JSON

13. Exploring Android APIs

  • Overview of Android Animation APIs
  • Overview of Media and Camera
  • Overview of Location and Sensors APIs
  • Overview of Connectivity
  • Overview of Text and Input

Please Contact Your ROI Representative to Discuss Course Tailoring!