Download Full Outline
Course
Mobile Development Boot Camp: Android Development Essentials
CompTIA Certified Badge
Learn Real-World, Ready to Apply Core Skills and Best Practices to Create Robust, Feature-rich Mobile Applications from Scratch
ID:TT4713
Duration:5 Days
Level:Introductory
Format:

Upcoming Public Course Dates

Class Schedule
Group Training
Special Offers
Course Schedule Available By Request - Contact Us

Group training options will be displayed here. Contact us for more information about group training opportunities.

Special offers will be displayed here. Check back later for promotional deals and special pricing.

What You'll Learn

Overview
Objectives
Audience
Pre-Reqs
Agenda
Follow On
Related
Expand All

Overview

CompTIA Authorized Partner Badge

A core component of our Mobile Development Boot Camp, Android Development is a comprehensive skills-focused program that provides you with deep understanding of Android application development, as well as ample hands-on experience applying new skills in real-world scenarios and challenges. This course provides an immersive, hands-on journey through Android development, equipping learners with the practical skills and best practices needed to create robust, feature-rich mobile applications from scratch. You'll exit the program with the knowledge, problem solving skills and confidence needed to put your new Android development skills right to work.

This course combines engaging instructor-led presentations and useful demonstrations with valuable hands-on labs and engaging group activities. Throughout the course students will apply their newly learned skills to building a basic Android application aligned with IOS to Android transition and project skills required by JPMC.

Objectives

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We'll work with you to tune this course, timing and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.

Day 1v

1. Android and Model-View-Controller

  • Explore MVC architecture in Android development.
  • Creating a New Class
  • Model-View-Controller and Android
  • Updating the View Layer
  • Updating the Controller Layer
  • Adding an Icon
  • Running on a Device

2. The Activity Lifecycle

  • Master the intricacies of Android's Activity Lifecycle and its states.
  • Rotating GeoQuiz
  • Activity States and Lifecycle Callbacks
  • Using Logcat
  • Temporarily leaving an activity
  • Device Configuration Changes
  • Creating a landscape layout

3. Persisting UI State

  • Learn how to persist UI states using ViewModel and SavedInstanceState.
  • Including the ViewModel Dependency
  • ViewModel lifecycle and ViewModelProvider
  • Saving Data Across Process Death
  • ViewModel vs Saved Instance State

Day 2

4. Debugging Android Apps- Quick Review

  • Learn debugging skills specific to Android development.
  • Exceptions and Stack Traces
  • Diagnosing misbehaviors
  • Setting breakpoints
  • Using Android Lint

5. Your Second Activity

  • Learn creating and navigating between multiple activities.
  • Setting Up a Second Activity
  • Declaring activities in the manifest
  • Starting an Activity
  • Passing Data Between Activities
  • How Android Sees Your Activities

6. Explore Basic UI elements

  • Review as text box, buttons, textview,tab bar,list view, listview details, alerts and how to show on a screen etc
  • Review advanced UI construction techniques using ConstraintLayout
  • Introducing ConstraintLayout
  • Introducing the Graphical Layout Editor
  • Using ConstraintLayout
  • Making list items dynamic
  • Styles, themes, and theme attributes

Day 3

7. Databases and the Room Library

– Quick Review

  • Room Architecture Component Library
  • Creating a Database
  • Defining a Data Access Object
  • Testing Queries
  • Using LiveData

8. Dialogs

  • Learn how to create and manage dialog boxes for user interactions
  • Creating a DialogFragment
  • Showing a DialogFragment
  • Passing Data Between Two Fragments

9. Data Binding and MVVM-

  • Understand the MVVM architecture and implement data binding
  • Different Architectures: Why Bother?
  • Creating BeatBox
  • Implementing Simple Data Binding
  • Wiring Up Assets for Use
  • Binding to Data

Day 4

10. HTTP and Background Tasks

  • Explore HTTP requests and asynchronous tasks.
  • Networking Basics with Retrofit
  • Fetching JSON from Flickr
  • Displaying Results in RecyclerView

11. Exploring Security and Top Ten Mobile Risks

  • Explore actual and potential software vulnerabilities and implement defenses for those vulnerabilities.
  • M1: Improper Platform Usage
  • M2: Insecure Data Storage
  • M3: Insecure Communication
  • M4: Insecure Authentication
  • M5: Insufficient Cryptography
  • M6: Insecure Authorization
  • M7: Client Code Quality
  • M8: Code Tampering
  • M9: Reverse Engineering
  • M10: Extraneous Functionality · Improper Platform Usage

12. Provide the Right Permissions

  • Understand and implement Android permissions for secure application behavior
  • Insecure Data Storage · Insecure Communication

Day 5

13. Enforce secure communication

  • Use implicit intents and non-exported content providers
  • Apply signature-based permissions
  • Disallow access to your app's content providers
  • Insecure Authentication (Overview)
  • Insufficient Cryptography (Overview) · Insecure Authorization

14. Implicit Intents

  • Adding Buttons
  • Adding a Suspect to the Model Layer
  • Using a Format String
  • Using Implicit Intents
  • Parts of an implicit intent
  • Sending a crime report
  • Asking Android for a contact
  • Checking for responding activities

15. Unit Testing

  • Learn unit testing and audio playback through SoundPool.
  • Creating a SoundPool and Accessing Assets
  • Loading and Playing Sounds
  • Setting Up and Writing Tests
  • Data Binding Callbacks and Unloading Sounds
  • Challenges and Curiosities: Playback Speed and Mock Testing
  • Patterns in Android
  • Testing Network Calls
  • Best Practices

Bonus Topics / Time Permitting

16. Loopers, Handlers, and HandlerThread

  • Explore Android's Looper class and how to use Handlers and HandlerThreads for background tasks.
  • Preparing RecyclerView and Download Bytes from URL
  • Creating and Managing a Background Thread
  • Understanding Messages and Handlers
  • Retained Fragments and Thread Lifecycle Awareness
  • Challenges and Curiosities: Image Downloading and Lifecycle Observations

17. Broadcast Intents

  • Learn how to use Broadcast Intents to communicate between Android components.
  • Regular vs Broadcast Intents
  • Creating and Registering Standalone and Dynamic Receivers
  • Limiting Broadcasts and Passing Data
  • Receivers and Long-Running Tasks
  • Challenges and Curiosities: Local Events and Fragment Visibility

Additional Topics (Will be covered throughout the class as applicable)

  • How to build a framework/static library and add that to Sample Android app.
  • How to debug Framework code by adding into Sample Android app.
  • What are various ways to store data locally and securely other than database like we have in iOS world keychain and secure enclave. -
  • Loading a webpage inside an Android app and manage webview delegates.
  • Biometric in Android.
  • What are different logging mechanism in Android similar to OSLOG in iOS.
  • Crash report management such as how to create and symbolicate.
  • How to pass message among different views and between framework and app other than function call back. We have delegate, NSNotification in iOS similar to that what we have in Android.

Audience

This course is designed for experienced programmers who need to quickly get up and running with Android. This course is not for new programmers or non-technical team members. Students are required to have incoming Kotlin programming experience.

Pre-Requisites

This course is designed for experienced programmers who need to quickly get up and running with Android. This course is not for new programmers or non-technical team members. Students are required to have incoming Kotlin programming experience.

Take Before:

  • Skillsoft Kotlin Training (asynchronous) or
  • Kotlin for IOS/Swift Developers Primer (1 day prep class, instructor-led)

Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We'll work with you to tune this course, timing and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.

Day 1

1. Android and Model-View-Controller

  • Explore MVC architecture in Android development.
  • Creating a New Class
  • Model-View-Controller and Android
  • Updating the View Layer
  • Updating the Controller Layer
  • Adding an Icon
  • Running on a Device

2. The Activity Lifecycle

  • Master the intricacies of Android's Activity Lifecycle and its states.
  • Rotating GeoQuiz
  • Activity States and Lifecycle Callbacks
  • Using Logcat
  • Temporarily leaving an activity
  • Device Configuration Changes
  • Creating a landscape layout

3. Persisting UI State

  • Learn how to persist UI states using ViewModel and SavedInstanceState.
  • Including the ViewModel Dependency
  • ViewModel lifecycle and ViewModelProvider
  • Saving Data Across Process Death
  • ViewModel vs Saved Instance State

Day 2

4. Debugging Android Apps- Quick Review

  • Learn debugging skills specific to Android development.
  • Exceptions and Stack Traces
  • Diagnosing misbehaviors
  • Setting breakpoints
  • Using Android Lint

5. Your Second Activity

  • Learn creating and navigating between multiple activities.
  • Setting Up a Second Activity
  • Declaring activities in the manifest
  • Starting an Activity
  • Passing Data Between Activities
  • How Android Sees Your Activities

6. Explore Basic UI elements

  • Review as text box, buttons, textview,tab bar,list view, listview details, alerts and how to show on a screen etc
  • Review advanced UI construction techniques using ConstraintLayout
  • Introducing ConstraintLayout
  • Introducing the Graphical Layout Editor
  • Using ConstraintLayout
  • Making list items dynamic
  • Styles, themes, and theme attributes

Day 3

7. Databases and the Room Library

– Quick Review

  • Room Architecture Component Library
  • Creating a Database
  • Defining a Data Access Object
  • Testing Queries
  • Using LiveData

8. Dialogs

  • Learn how to create and manage dialog boxes for user interactions
  • Creating a DialogFragment
  • Showing a DialogFragment
  • Passing Data Between Two Fragments

9. Data Binding and MVVM-

  • Understand the MVVM architecture and implement data binding
  • Different Architectures: Why Bother?
  • Creating BeatBox
  • Implementing Simple Data Binding
  • Wiring Up Assets for Use
  • Binding to Data

Day 4

10. HTTP and Background Tasks

  • Explore HTTP requests and asynchronous tasks.
  • Networking Basics with Retrofit
  • Fetching JSON from Flickr
  • Displaying Results in RecyclerView

11. Exploring Security and Top Ten Mobile Risks

  • Explore actual and potential software vulnerabilities and implement defenses for those vulnerabilities.
  • M1: Improper Platform Usage
  • M2: Insecure Data Storage
  • M3: Insecure Communication
  • M4: Insecure Authentication
  • M5: Insufficient Cryptography
  • M6: Insecure Authorization
  • M7: Client Code Quality
  • M8: Code Tampering
  • M9: Reverse Engineering
  • M10: Extraneous Functionality · Improper Platform Usage

12. Provide the Right Permissions

  • Understand and implement Android permissions for secure application behavior
  • Insecure Data Storage · Insecure Communication

Day 5

13. Enforce secure communication

  • Use implicit intents and non-exported content providers
  • Apply signature-based permissions
  • Disallow access to your app's content providers
  • Insecure Authentication (Overview)
  • Insufficient Cryptography (Overview) · Insecure Authorization

14. Implicit Intents

  • Adding Buttons
  • Adding a Suspect to the Model Layer
  • Using a Format String
  • Using Implicit Intents
  • Parts of an implicit intent
  • Sending a crime report
  • Asking Android for a contact
  • Checking for responding activities

15. Unit Testing

  • Learn unit testing and audio playback through SoundPool.
  • Creating a SoundPool and Accessing Assets
  • Loading and Playing Sounds
  • Setting Up and Writing Tests
  • Data Binding Callbacks and Unloading Sounds
  • Challenges and Curiosities: Playback Speed and Mock Testing
  • Patterns in Android
  • Testing Network Calls
  • Best Practices

Bonus Topics / Time Permitting

16. Loopers, Handlers, and HandlerThread

  • Explore Android’s Looper class and how to use Handlers and HandlerThreads for background tasks.
  • Preparing RecyclerView and Download Bytes from URL
  • Creating and Managing a Background Thread
  • Understanding Messages and Handlers
  • Retained Fragments and Thread Lifecycle Awareness
  • Challenges and Curiosities: Image Downloading and Lifecycle Observations

17. Broadcast Intents

  • Learn how to use Broadcast Intents to communicate between Android components.
  • Regular vs Broadcast Intents
  • Creating and Registering Standalone and Dynamic Receivers
  • Limiting Broadcasts and Passing Data
  • Receivers and Long-Running Tasks
  • Challenges and Curiosities: Local Events and Fragment Visibility

Related Courses

Swift Programming Essentials

Connect with us

Tailor your learning experience with Trivera Tech. Whether you need a custom course offering or want to schedule a specific date and time for corporate training, we are here to help. Our team works with you to design a solution that fits your organization's unique needs; whether that is enrolling a small team or your entire department. Simply let us know how many participants you'd like to enroll and the skills you want to develop, and we will provide a detailed quote tailored to your request.

Contact Trivera Today to discuss how we can deliver personalized training that equips your team with the critical skills needed to succeed!