Free Course Image Modern android development skills

Free online courseModern android development skills

Duration of the online course: 21 hours and 30 minutes

4.5

StarStarStarStarHalf star

(2)

Build modern Android apps faster with this free course: Jetpack Compose, architecture, performance tuning, Hilt, paging, navigation, and more—learn by doing.

In this free course, learn about

  • What Modern Android Development (MAD) is and how to measure your MAD score
  • Jetpack Compose fundamentals: @Composable, declarative UI vs Views, Scaffold, Previews, tooling
  • Compose 1.3 updates and new features at a high level
  • Android performance basics: startup types/metrics, inspection tools, benchmarking strategy
  • Baseline Profiles: what they are and how they improve startup/runtime performance
  • Recommended app architecture: data/UI/domain layers, repositories, entities, UI events
  • Modularization benefits and navigation between feature modules; multiple back stacks & deep links
  • DataStore (Preferences/Proto): differences vs SharedPreferences, best practices, migrations
  • Gradle & AGP Build APIs: configuring builds and creating/advancing custom plugins
  • Paging 3: network paging, PagingDataAdapter, load states, transformations, maxSize tuning
  • Dependency injection with Hilt: core annotations, testing practices, Dagger internals, migration
  • Performance debugging & tracing: Systrace, Android Studio Trace Viewer vs Perfetto
  • WorkManager for reliable deferrable background work, constraints, and long-running tasks
  • Material Design Components & app distribution: theming/motion, Android App Bundles/Play delivery

Course Description

Take your Android skills from familiar to job-ready by learning the toolkit and practices that Google recommends for building modern apps. This free online course guides you through a complete, up-to-date development workflow, helping you write cleaner code, iterate faster, and ship experiences that feel responsive and polished on real devices.

You’ll start by understanding what modern Android development means today and how to measure your current approach, then move into Jetpack Compose fundamentals. Instead of wrestling with complex UI updates, you’ll learn to think in composables, reduce boilerplate, and rely on a powerful UI toolkit that makes screens easier to build, test, and maintain. With strong tooling support, you can preview and refine layouts quickly, enabling rapid iteration as your product evolves.

Modern apps also need to be fast. The course builds a practical mindset for performance by focusing on startup, profiling, and monitoring so you can diagnose problems instead of guessing. You’ll explore the metrics that matter, learn where to begin when optimizing, and use techniques such as Baseline Profiles and benchmarking to improve speed and smoothness while keeping regressions under control.

To keep growing projects maintainable, you’ll work with recommended architecture concepts: clear layers, event handling in the UI, repositories, modularization, and the role of a domain layer. You’ll also learn modern data storage with DataStore, and expand your productivity with Gradle and Android Gradle Plugin build APIs. From there, you’ll tackle common app needs like loading large datasets with Paging, structuring dependency injection with Hilt, and navigating across screens and modules with confidence.

Beyond core building blocks, you’ll practice background work with WorkManager, motion and interaction with Motion Layout and Material Design Components, and delivery best practices with Android App Bundles, Play App Signing, and feature delivery. By the end, you’ll have a stronger foundation for building scalable apps that perform well, read well, and are ready for production.

Course content

  • Video class: Introduction to MAD Skills 01m
  • Exercise: _Which of the following is a part of modern Android development recommended by Google to make the Android development experience better?
  • Video class: What’s your MAD score? 01m
  • Exercise: How can an Android developer obtain their MAD score?
  • Video class: Introduction to Compose Basics - MAD Skills 01m
  • Exercise: What is Jetpack Compose primarily built for in Android development?
  • Video class: Intuitive: Thinking in Compose - MAD Skills 07m
  • Exercise: What is a key difference between Jetpack Compose and Views?
  • Video class: Less code: Composable functions - MAD Skills 09m
  • Exercise: _What is the purpose of annotating a function with @Composable in Jetpack Compose?
  • Video class: Powerful: Compose toolkit - MAD Skills 09m
  • Exercise: What is the purpose of the 'Scaffold' component in Jetpack Compose?
  • Video class: Accelerate development: Compose tooling - MAD Skills 08m
  • Exercise: What is the benefit of using the @preview annotation in Android Studio?
  • Video class: Compose Basics: Community tip - MAD Skills 02m
  • Exercise: What is recommended as a first step for developers new to Jetpack Compose?
  • Video class: Compose Basics: Live Q 58m
  • Exercise: _What is Compose's current version and what are some of the new features in the 1.3 release?
  • Video class: Introduction to Performance - MAD Skills 02m
  • Exercise: Which new technology can help improve Android app startup time by 30% on average?
  • Video class: Performance: Important metrics - MAD Skills 08m
  • Exercise: What is the slowest app startup type?
  • Video class: Inspecting Performance - MAD Skills 16m
  • Exercise: Which method is NOT used for performance inspection in apps?
  • Video class: Improving Performance with Baseline Profiles - MAD Skills 13m
  • Exercise: _What are baseline profiles in Android development?
  • Video class: Monitoring Performance - MAD Skills 06m
  • Exercise: When should you run benchmarks to ensure app performance?
  • Video class: Performance: Live Q 1h07m
  • Exercise: Where should you start when working with app performance optimization?
  • Video class: Introduction to Architecture - MAD Skills 01m
  • Exercise: What is the initial focus when building an Android app according to the recommended architecture guidelines?
  • Video class: Architecture: The data layer - MAD Skills 07m
  • Exercise: _What is the role of repositories in an Android app architecture?
  • Video class: Architecture: The UI layer - MAD Skills 08m
  • Exercise: What is the primary role of the UI layer in an application?
  • Video class: Architecture: Handling UI events - MAD Skills 10m
  • Exercise: What are the two types of UI events discussed in the video?
  • Video class: Architecture: The Domain Layer - MAD Skills 08m
  • Exercise: What role does the domain layer play in app architecture?
  • Video class: Architecture: Organizing modules - MAD Skills 01m
  • Exercise: _What are the benefits of modularization in large projects, according to Emily Kager in the MAD Skills series on architecture?
  • Video class: Architecture: Entities - MAD Skills 07m
  • Video class: Architecture: Live Q 45m
  • Video class: DataStore - MAD Skills 00m
  • Video class: Introduction to DataStore - MAD Skills 06m
  • Exercise: _What is DataStore and how does it differ from SharedPreferences?
  • Video class: Preferences DataStore - MAD Skills 08m
  • Video class: Proto DataStore - MAD Skills 11m
  • Video class: DataStore: Best practices - MAD Skills 08m
  • Video class: DataStore: Best practices (part 2) - MAD Skills 10m
  • Exercise: _What is the purpose of DataStore-to-DataStore migration?
  • Video class: Introduction to Gradle and AGP Build APIs - MAD Skills 01m
  • Video class: Gradle and AGP Build APIs: Configure your build - MAD Skills 07m
  • Video class: Gradle and AGP Build APIs: How to write a plugin - MAD Skills 09m
  • Video class: Gradle and AGP Build APIs: Taking your plugin to the next step - MAD Skills 10m
  • Video class: Gradle and AGP Build APIs: Live Q 30m
  • Video class: Paging - MAD Skills 01m
  • Video class: Introduction to Paging - MAD Skills 07m
  • Video class: Paging: Fetching data from network - MAD Skills 05m
  • Exercise: _What is the advantage of using a PagingDataAdapter over a ListAdapter when working with PagingData in Android development?
  • Video class: Paging: Displaying data and its loading state - MAD Skills 06m
  • Video class: Paging: Getting fancy with transformations, separators, headers, footers and search - MAD Skills 04m
  • Video class: Paging: Community tip - MAD Skills 02m
  • Video class: Paging: Live Q 49m
  • Exercise: _What is the purpose of the maxSize argument in the paging config when using the paging library in Android development?
  • Video class: Introduction to Hilt - MAD Skills 01m
  • Video class: Hilt and dependency injection - MAD Skills 13m
  • Video class: Hilt testing best practices - MAD Skills 10m
  • Video class: Hilt and Dagger under the hood - MAD Skills 09m
  • Exercise: _What are the three most important annotations used in Hilt?
  • Video class: Hilt extensions - MAD Skills 09m
  • Video class: Migrating from Dagger to Hilt - MAD Skills 03m
  • Video class: Hilt: Live Q 58m
  • Video class: Introduction to Performance Debugging - MAD Skills 01m
  • Exercise: _What is the name of the web-based trace visualizer that is more oriented toward platform level use cases?
  • Video class: Performance: System tracing basics - MAD Skills 07m
  • Video class: Performance: Using Systrace in Android Studio - MAD Skills 06m
  • Video class: Performance: Using sampling profiling with Systrace - MAD Skills 05m
  • Video class: Performance: Perfetto Traceviewer - MAD Skills 07m
  • Exercise: _What is the difference between Android Studio Trace Viewer and Perfetto Trace Viewer?
  • Video class: Performance: Capturing Profiler traces - MAD Skills 02m
  • Video class: Performance Debugging: Live Q 48m
  • Video class: Intro to Navigation - MAD Skills 01m
  • Video class: Navigation: UI - MAD Skills 09m
  • Exercise: _What is the purpose of NavigationUI plus in Android development?
  • Video class: Conditional Navigation 06m
  • Video class: Navigation: Navigating between modules - MAD Skills 05m
  • Video class: Navigation in feature modules 06m
  • Video class: Navigation: Multiple back stacks - MAD Skills 04m
  • Exercise: _What is multiple backstack support in navigation and how can it be enabled?
  • Video class: Deep-link Navigation tip - MAD Skills 01m
  • Video class: Navigation: Live Q 55m
  • Video class: Introduction to WorkManager - MAD Skills 00m
  • Video class: WorkManager: Basics - MAD Skills 10m
  • Exercise: _What is WorkManager and why is it recommended for long-running tasks in Android development?
  • Video class: WorkManager: Working in the background - MAD Skills 07m
  • Video class: WorkManager: Deprecation of GCM NM 07m
  • Video class: WorkManager: Advanced configuration 10m
  • Video class: WorkManager: Community tip - MAD Skills 01m
  • Exercise: _What is the purpose of using WorkManager in the app mentioned by Hugo Visser?
  • Video class: WorkManager: Live Q 46m
  • Video class: Introduction to Motion Layout - MAD Skills 01m
  • Video class: Motion Layout: ConstraintSet animations - MAD Skills 09m
  • Video class: Motion Layout: Using keyframes - MAD Skills 07m
  • Exercise: _What is a keyframe in Motion Layout?
  • Video class: Motion Layout: Multiple ConstraintSets - MAD Skills 04m
  • Video class: Motion Layout: Building a collapsible header - MAD Skills 09m
  • Video class: Motion Layout: Live Q 46m
  • Video class: Introduction to Kotlin and Jetpack API - MAD Skills 01m
  • Exercise: _What are the topics covered in the MAD Skills series on Kotlin and Jetpack APIs?
  • Video class: Kotlin: Simplifying APIs with coroutines - MAD Skills 10m
  • Video class: Kotlin: Using KTX - MAD Skills 06m
  • Video class: Kotlin: Using Room Kotlin APIs - MAD Skills 07m
  • Video class: Kotlin: Using WorkManager Kotlin APIs - MAD Skills 04m
  • Exercise: _What is the recommended choice for tasks that should continue to run even if the user navigates away from the screen or if the device restarts?
  • Video class: Kotlin: Community tip - MAD Skills 02m
  • Video class: Kotlin and Jetpack API: Live Q 52m
  • Video class: Introduction to Material Design Components - MAD Skills 00m
  • Video class: Why use Material Design Components? - MAD Skills 05m
  • Exercise: _What is the Material Design Components library?
  • Video class: Material Design Components: Material Theming - MAD Skills 10m
  • Video class: Material Design Components: Dark theme - MAD Skills 12m
  • Video class: Material Design Components: Material Motion - MAD Skills 13m
  • Video class: Material Design Components: Community tip - MAD Skills 02m
  • Exercise: _What is the MDC catalog app?
  • Video class: Material Design Components: Live Q 54m
  • Video class: Introduction to App Bundles - MAD Skills 01m
  • Video class: App Bundles: Everything to know about Play App Signing - MAD Skills 09m
  • Video class: App Bundles: Building your first app bundle - MAD Skills 08m
  • Exercise: _What is the advantage of using Android App Bundle for app distribution?
  • Video class: App Bundles: Configuring your app for Play Feature Delivery - MAD Skills 11m
  • Video class: App Bundles: Testing bundles with bundletool and the Play Console - MAD Skills 07m
  • Video class: App Bundles: Community tip - MAD Skills 02m
  • Video class: App Bundles: Live Q 47m
  • Exercise: _What is the recommended way to reduce the size of Android applications quickly and easily?
  • Video class: Introduction to Navigation - MAD Skills 00m
  • Video class: Navigation: Overview - MAD Skills 10m
  • Video class: Navigation: Dialog destinations - MAD Skills 08m
  • Video class: Navigation: SafeArgs - MAD Skills 11m
  • Exercise: _What is SafeArgs in the Navigation component of Android development?
  • Video class: Navigation: Deep links - MAD Skills 08m
  • Video class: Navigation: Live Q 48m

This free course includes:

21 hours and 30 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at App Development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate