Google
Android Studio
Build real Android apps from your first install to the Play Store. 72 lessons covering Kotlin, Jetpack Compose, architecture, accessibility, Kotlin Multiplatform and publishing, ordered by difficulty.
From zero to published Android developer.
Google Android Studio is the official tool for building Android apps, and this single course teaches you to use it from your very first install to publishing on Google Play. It follows every programme on Google's official Android courses page, arranged by difficulty: Android Basics with Compose, Jetpack Compose for Android developers, Modern Android App Architecture, Accessibility, Kotlin Multiplatform and the Google Play Store Listing Certificate.
Every lesson is written step by step with real code, expected output, practice challenges, a knowledge check and a mini project. Designed by Babatunde Awoyemi, Techbase Consultant Services, Ibadan. Free, always.
- Android Studio setup, emulators, real devices, Logcat and the debugger
- Kotlin from your first program to generics, lambdas and collections
- Jetpack Compose: layouts, state, lists, theming, animation and testing
- ViewModel, Navigation, Room, DataStore, Retrofit, Coil and WorkManager
- Advanced Compose, performance, adaptive layouts, Wear OS and Glance
- App architecture, dependency injection, offline-first design
- Accessibility: TalkBack, semantics, contrast and touch targets
- Kotlin Multiplatform for Android and iOS
- Release builds, Google Play Console and store listing certification
What you need
Course content is original Techbase teaching material that follows the structure of Google's free Android courses. Each lesson links to the official codelabs and documentation, which are published by Google under the Creative Commons Attribution 4.0 licence (code samples under Apache 2.0).
72 Lessons · 12 Phases
Phase 1 — Getting Started with Android Studio
01–05 · 5 lessons- 01 BeginnerWelcome to Android Development: What Android Is and How This Course WorksMeet the Android platform, see how apps are built and shipped, and get the roadmap for every lesson in this course.
- 02 BeginnerDownload and Install Android StudioCheck system requirements, install Android Studio on Windows, macOS or Linux, set up the SDK and take a guided tour of the IDE.
- 03 BeginnerCreate Your First Android AppUse the New Project wizard, understand every file in the project and learn how Gradle builds your app.
- 04 BeginnerRun Your App on the Android EmulatorCreate virtual devices, run your app, and master emulator controls, snapshots and troubleshooting.
- 05 BeginnerRun on a Real Phone and Connect Your DevicesEnable USB and wireless debugging, use adb, mirror your device and read your first Logcat messages.
Phase 2 — Kotlin Fundamentals
06–14 · 9 lessons- 06 BeginnerYour First Program in KotlinWrite and run your first Kotlin programs in the Kotlin Playground and Android Studio: main, println, comments and string templates.
- 07 BeginnerCreate and Use Variables in KotlinStore data with val and var, learn Kotlin's basic types, operators and type inference.
- 08 BeginnerCreate and Use Functions in KotlinWrite reusable functions with parameters, default and named arguments, return values and single-expression syntax.
- 09 BeginnerConditionals and Loops in KotlinMake decisions with if and when, repeat work with for, while and repeat, and finish the Kotlin Basics practice problems.
- 10 BeginnerNullability in KotlinUnderstand null safety: nullable types, safe calls, the Elvis operator, smart casts and when to avoid !!.
- 11 BeginnerClasses and Objects in KotlinModel real things with classes, properties, methods, inheritance, interfaces, abstract classes, data classes and enums.
- 12 BeginnerFunction Types and Lambda ExpressionsTreat functions as values: function types, lambdas, trailing lambda syntax, it, and passing behaviour as an argument.
- 13 BeginnerGenerics, Objects and ExtensionsWrite type-safe reusable code with generics, singleton and companion objects, extension functions and scope functions.
- 14 BeginnerCollections and Higher-Order FunctionsWork with List, Set and Map, and transform data with map, filter, fold, groupBy and sorting. Includes the Classes and Collections practice.
Phase 3 — Your First Jetpack Compose Apps
15–22 · 8 lessons- 15 BeginnerIntroduction to Jetpack Compose and Text ComposablesBuild your first Compose UI: composable functions, Text, Preview, and the birthday card app.
- 16 BeginnerImages, Layouts and Modifiers: The Business Card AppAdd images and arrange UI with Row, Column, Box and Modifier. Build the business card app from scratch.
- 17 BeginnerButtons and Click Behaviour: The Dice Roller AppRespond to taps with Button, update the screen with remember and mutableStateOf, and build an interactive dice roller.
- 18 BeginnerDebugging with Android StudioFind and fix bugs with Logcat, breakpoints, stepping, watches and conditional breakpoints.
- 19 BeginnerState in Compose: The Tip Calculator and Art SpaceUnderstand state, recomposition and state hoisting by building a tip calculator, then apply it in the Art Space project.
- 20 BeginnerAutomated Tests for Your AppWrite local unit tests and Compose UI tests with JUnit to prove your tip calculator works.
- 21 BeginnerScrollable Lists and Grids: The Affirmations AppShow data with LazyColumn and LazyVerticalGrid, model it with data classes, and customise your app icon. Includes the Grid practice app.
- 22 BeginnerMaterial Theming and Simple Animation: Superheroes and 30 DaysMake apps beautiful with Material Design 3 colours, typography and shapes, add simple animation, and finish with the 30 Days project.
Phase 4 — Architecture and Navigation
23–27 · 5 lessons- 23 IntermediateThe Activity LifecycleUnderstand how Android creates, pauses and destroys your screens, and keep state safe across configuration changes with the Dessert Clicker app.
- 24 IntermediateApp Architecture and the ViewModelLearn why architecture matters, how the UI layer works, and move state out of composables into a ViewModel.
- 25 IntermediateUI State, StateFlow and Unit-Testing the ViewModelModel screens with a UI state class, expose it with StateFlow, and write unit tests for ViewModel logic. Includes the Dessert Clicker ViewModel practice.
- 26 IntermediateNavigation in Jetpack Compose: The Cupcake AppBuild a multi-screen app with NavHost and NavController, pass data between screens, share content, and test navigation.
- 27 IntermediateAdaptive Layouts and Navigation DrawersAdapt your UI to phones, tablets and foldables with window size classes, adaptive navigation and a list-detail layout. Includes Reply, Sports and My City.
Phase 5 — Data, Networking and Background Work
28–36 · 9 lessons- 28 IntermediateCoroutines and ConcurrencyDo many things at once without freezing the UI: suspend functions, launch, async, dispatchers and structured concurrency.
- 29 IntermediateGet Data from the Internet: HTTP, REST and RetrofitLearn how HTTP and REST work, then fetch and parse JSON with Retrofit and kotlinx.serialization in the Mars Photos app.
- 30 IntermediateThe Data Layer: Repositories and Dependency InjectionSeparate data access from UI with repositories, then wire dependencies with a manual dependency injection container.
- 31 IntermediateLoad and Display Images from the Internet with CoilShow remote images with Coil's AsyncImage, handle loading and error states, and build the Amphibians and Bookshelf apps.
- 32 IntermediateIntroduction to Databases and SQLLearn relational database concepts and the SQL you need for Room: tables, keys, SELECT, INSERT, UPDATE, DELETE and JOIN.
- 33 IntermediateKotlin Flows in PracticeStream data over time with Flow, StateFlow and SharedFlow, collect it safely in Compose and test flows.
- 34 IntermediatePersist Data with RoomStore structured data on the device with Room entities, DAOs and databases, then read and update it in the Inventory and Bus Schedule apps.
- 35 IntermediateStore Preferences with DataStoreSave key-value settings with Preferences DataStore and finish with the Flight Search project.
- 36 IntermediateBackground Work with WorkManagerSchedule reliable background tasks with WorkManager: workers, constraints, chaining, inspection and testing in the Water Me app.
Phase 6 — Compose in Depth and Android Studio Tools
37–44 · 8 lessons- 37 IntermediateThinking in Compose: Composable Functions and the Three PhasesShift from how to what: declarative UI, composable functions, composition, layout and drawing, and your first Compose essentials app.
- 38 IntermediateLayouts and Modifiers in DepthMaster Row, Column, Box, Scaffold, ConstraintLayout and the order of modifiers while you implement a real-world design.
- 39 IntermediateLazy Layouts: Lists, Grids and Scrolling PerformanceBuild efficient scrolling UIs with LazyColumn, LazyRow and grids, using keys, content types, sticky headers and item animations.
- 40 IntermediateMaterial Design 3: Theming, Dynamic Color and TypographyCustomise colours, shapes and type, support dark theme and dynamic colour, and style text with downloadable and variable fonts.
- 41 IntermediateAnimation in ComposeBring your UI to life: animate*AsState, AnimatedVisibility, AnimatedContent, transitions, Animatable and gesture-driven animation.
- 42 IntermediateAndroid Views and XML LayoutsUnderstand the classic View system: XML layouts, view binding, fragments and navigating between fragments.
- 43 IntermediateCompose and Views InteroperabilityUse Compose and Views side by side: ComposeView in XML, AndroidView in Compose, and an incremental migration plan.
- 44 IntermediateAndroid Studio Power ToolsGet faster with Logcat, Layout Inspector, Database Inspector, Background Task Inspector, Profiler and Compose tooling.
Phase 7 — Testing and Accessibility
45–48 · 4 lessons- 45 IntermediateTesting Jetpack Compose UIsTest composables with the semantics tree, finders, actions and assertions, and debug flaky tests with synchronisation.
- 46 IntermediateAndroid Accessibility FundamentalsLearn who benefits from accessibility, how Android settings and services work, and the accessibility model behind TalkBack.
- 47 IntermediateAccessibility in Compose: Labels, Touch Targets and ContrastFix the three most common accessibility problems in Compose with semantics, minimum touch targets and contrast ratios.
- 48 IntermediateTesting and Troubleshooting AccessibilityTest with TalkBack, Accessibility Scanner, automated checks and lint, then review your app from your users' perspective.
Phase 8 — Publish on Google Play
49–53 · 5 lessons- 49 IntermediatePrepare Your App for ReleaseGet a release build ready: application ID, versioning, signing, Play App Signing, App Bundles, R8 and testing tracks.
- 50 IntermediateGoogle Play Console and Store Listing BasicsModule 1: create your developer account and app, publish a store listing and meet the baseline requirements for every listing.
- 51 IntermediateAnalyze and Explore Opportunities on Google PlayModule 2: understand how users find your listing and test which elements drive the most installs.
- 52 IntermediateBest Practices for Your Store ListingModule 3: build a consistent, benefit-focused brand story with strong icons, screenshots, graphics, text and localisation.
- 53 IntermediateCustom Store Listings and the Certificate ExamModule 4: use custom store listings to attract and re-engage users, then prepare for the Google Play Store Listing Certificate exam.
Phase 9 — Advanced Jetpack Compose
54–59 · 6 lessons- 54 AdvancedAdvanced State and Side EffectsHoist state well, build state holders, and use LaunchedEffect, DisposableEffect, rememberCoroutineScope, produceState and derivedStateOf.
- 55 AdvancedNavigation Compose in DepthGo beyond basics: type-safe routes, arguments, deep links, nested graphs, bottom navigation, multi-module graphs and testing.
- 56 AdvancedCustom Layouts and GraphicsBuild your own layouts with the Layout composable and draw custom graphics with Canvas, DrawScope and graphicsLayer.
- 57 AdvancedCompose PerformanceMeasure, debug and optimise: recomposition, stability, deferring state reads, baseline profiles and a scientific approach to performance.
- 58 AdvancedAdaptive Apps for Phones, Tablets and FoldablesBuild adaptive apps with window size classes, canonical layouts, list-detail panes, navigation suites and foldable postures.
- 59 AdvancedWear OS and App Widgets with Compose and GlanceTake Compose to the wrist with Compose for Wear OS and build app widgets with Jetpack Glance.
Phase 10 — Modern Android App Architecture
60–65 · 6 lessons- 60 AdvancedWhy App Architecture Matters: Principles and LayersThink like a building architect: separation of concerns, drive UI from data, single source of truth, unidirectional data flow and the recommended layers.
- 61 AdvancedThe UI Layer: State Holders, State Production and EventsDefine, produce and consume UI state, handle UI events correctly, and choose between ViewModels and plain state holders.
- 62 AdvancedThe Data Layer: Repositories, Data Sources and Source of TruthDesign repositories and data sources, expose immutable data, handle errors and threading, and test the data layer.
- 63 AdvancedThe Domain Layer and Use CasesDecide when you need a domain layer, write use cases, and keep business logic reusable and testable.
- 64 AdvancedBuild an Offline-First AppDesign for no connectivity: reads, writes, sync strategies and conflict resolution with Room and WorkManager.
- 65 AdvancedDependency Injection with Hilt and ModularizationReplace manual DI with Hilt, structure a multi-module project, and finish the architecture quiz.
Phase 11 — Kotlin Multiplatform
66–70 · 5 lessons- 66 AdvancedWhy Kotlin MultiplatformLearn what Kotlin Multiplatform is, ten reasons to adopt it, how it compiles to each target, and expect/actual.
- 67 AdvancedKMP Project Structure: Targets and Source SetsUnderstand common code, targets, source sets, hierarchy and tests, and read a real KMP Gradle build.
- 68 AdvancedAdd Kotlin Multiplatform to Your Android ProjectExtract a shared module from an existing Android app and call platform-specific APIs with expect/actual and interfaces.
- 69 AdvancedIntegrate with iOS: Direct Integration and Swift Package ManagerConsume your shared module from Xcode, add multiplatform dependencies, search klibs.io and publish through Swift Package Manager.
- 70 AdvancedMigrate Room Database to Kotlin MultiplatformMove your database layer into shared code with Room KMP, a bundled SQLite driver and platform database builders, then take the KMP quiz.
Phase 12 — Capstone and Reference
71–72 · 2 lessons- 71 AdvancedCapstone Project: A Complete Android AppBring everything together: plan, architect, build, test, make accessible and prepare to publish a complete multi-screen app.
- 72 AdvancedAndroid, Kotlin and Compose Quick Reference and Learning RoadmapA complete cheat sheet, interview preparation guide, certification map and study plan for your Android career.
No lessons match that search. Try a different word.
Learn at your own pace.
No Experience Needed
Start at lesson 01. You only need basic computer skills and basic maths. Kotlin is taught from zero.
Code Along
Open Android Studio next to the lesson and type every example. Apps are learned by building them, not by reading.
Follow the Levels
Beginner (1–22), Intermediate (23–53) and Advanced (54–72). Use the level filter below to jump around.
Build and Publish
Every lesson ends with a mini project you can push to GitHub, and the capstone lesson prepares a complete app for Google Play.