Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Modern Streamlined Kotlin Android Development

Course Summary

The Modern Streamlined Kotlin Android Development training course focuses on best practices of android development concepts and tools. The course will help increase developer productivity and how to create clean, maintainable code. Students will learn the key features and concepts of Android and Kotlin while building projects.

The course begins with a tour of Kotlin's most important and useful features followed by advanced features and techniques. During the course, students will be building a sophisticated app along with a number of smaller ones. Next, students will learn about Declarative Views (DV) and how it is the most productive architectural pattern for building Android apps. The course concludes with managing state and event handling along with User Interface (UI) features.

Purpose
Learn the best practices of Android development concepts and tools.
Audience
Software and web developers who are Android newcomers who want to advance their Kotlin skills.
Role
Software Developer - Web Developer
Skill Level
Introduction
Style
Workshops
Duration
1 Day
Related Technologies
Android | Kotlin

 

Productivity Objectives
  • Demonstrate modern, native mobile development for Android using Kotlin
  • Explain the native Android platform
  • Describe best practices
  • Apply patterns that can be applied to both Android and iOS

What You'll Learn:

In the Modern Streamlined Kotlin Android Development training course, you'll learn:
  • Workstation Setup
    • Setup Android studio and other developer tools
  • Kotlin's Key Concepts
    • Brief, high-level overview of Kotlin's defining features and concepts
  • Kotlin Whirlwind Tour
    • Fast-paced quickstart to Kotlin's most important and useful features
      • Building the first layer "the business logic" (will be used to build app)
      • Set unit tests
  • Advanced Kotlin Topics
    • Advanced features and techniques of Kotlin (will be used to build the UI and Android portion of app)
    • Lambdas and functional programming in Kotlin
    • Kotlin's type-safe builders
    • Extension functions
    • Annotations
  • Android's Key Concepts
    • High-level, conceptual overview of Native Android as a development platform
    • The good, the bad and the ugly
    • How does Native Android fit into the greater mobile and client dev landscape
  • First Android Project
    • Create a simple Android app
    • Understanding the project structure
    • Exploring Android Studio
    • SDKs and AVDs
    • Command line tools
    • Running and testing apps
    • Emulators and devices
    • Activities, Layouts, Resources, Views, Manifests
  • Android UI Landscape
    • Approaches, tools and patterns for building UIs
    • Overview of approaches and the pros and cons of each
      • XML Files
      • View binding
      • Data binding
      • MVC, MVP, MVVM, MVI
    • DV Key Concepts
        • UI architectural pattern pioneered by the React web framework
        • Now used by Swift UI, React Native, Flutter, and Android's JetPack Compose
  • DV with JetPack
    • Setting up a project
    • Composable
    • Creating and using UI components
    • Component trees
    • Where to put model objects
    • Passing data down the component tree
    • Ambient
  • Layout
    • Column and Row
    • Flow
    • Box
    • Padding, Alignment
    • Spacers, Modifiers
    • Gravity
  • Advanced Layout
    • ConstraintLayout
    • Expanded
    • Lists, tables and grids
    • Paging
    • Scrollable lists
    • Giant lists
  • Enhancements
    • Surface
    • Colors
    • Styles
    • Themes
    • Material designs
    • Preview mode
  • Managing State and Event Handling
    • Key concepts of Jetpack state management
    • Model and state
    • Unidirectional data flow
    • Where to put state
    • Updating state
    • How to leave components in update state
    • How events are passed up the component tree
    • Creating "View Only" components
    • Reducers
    • Dispatchers
    • Handling advanced events
  • Additional UI Features
    • Forms and inputs
    • Snacks
    • Scaffold
    • Drawer
    • AppBar
  • Navigation and Routes
    • Internal navigation
    • External navigation
    • Intents
    • Fragments
  • Lifecycles Events
    • Lifecycle owners
    • Activity events
    • Fragment events
    • Best practices
    • ViewModels
  • Background Tasks and Asynch
    • Coroutines
    • WorkManager
    • viewModelScope
    • Safe UI updates
  • Data
    • Using HTTP services
    • Retrofit and OkHttp
    • Local data
    • Room
  • Additional Platform Features
    • Permission
    • Notifications
  • The Cross-Platform Mobile Landscape in 2020
    • An overview of the current crop of cross-platform tools and strategies
    • The WebView strategy
    • Embrace the platform vs replace the platform vs hybrid
    • 100% common vs 0% common (write two apps) vs 50% common (some of each)
    • Targeting 1, 2 pr 3 platforms
    • Flutter
    • Cross-platform Kotlin
    • React Native
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.