Developing Android Apps with Kotlin (Udacity)

Offered by Udacity,
Developing Android Apps with Kotlin (Udacity)

Create concise, secure and performant apps with Kotlin. Learn to architect and develop Android apps in the Kotlin programming language using industry-proven tools and libraries. With these techniques you'll create apps in less time, writing less code, and with fewer errors.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

This course was developed by Google together with Udacity. The course gives you hands on experience as you build real Android apps using industry best practices, with modern app architecture. You'll learn to use Android Jetpack components such as Room for databases, Work Manager for background processing, the new Navigation component, and more. You'll use key Kotlin features to write your app code more quickly and concisely.
Learning to develop on Android is much more than learning APIs and shortcuts. It's training your brain to think like a mobile developer.

In this free course—developed by experts at Google—you will learn the fundamentals of building Android applications using Kotlin. The course covers architecture components, multi-screen navigation, data persistence, RESTful APIs and Material Design. By the end of the course, you’ll be able to create well-designed Android applications using Kotlin that can connect to the internet, store data and navigate between screens.
Kotlin is an open-source, modern programming language that lets developers use both object-oriented and functional programming techniques. It is concise, safe, and fully interoperable with Java. Kotlin is an official language for Android development and the community of Kotlin developers is growing rapidly, with major companies like Netflix, Pinterest, and Google using Kotlin.

What You Will Learn

Lesson 1
Build Your First App

  • Explore the basics of Android such as creating text images and interactive buttons
  • Set up the development environment and create a Dice Roller Android app
  • Navigate the Main Map Anatomy of an Android app

Lesson 2
Layouts

  • Learn different kinds of views and resources
  • Explore arranging elements with the Android Studio's Layout Editor
  • Connect views with data through data binding

Lesson 3
App Navigation

  • Learn how to build apps that contain multiple screens known as destinations
  • Use Android Studio tools to create and visualize a map or graph of destinations that show navigation paths in your app
  • Learn the navigation patterns and user interface that Android users expect to see so that your app will be intuitive and familiar

Lesson 4
Activity & Fragment Lifecycle

  • Learn all about the Android Activity Lifecycle
  • Create a one-screen app called Dessert pusher
  • Debug common issues through an understanding of lifecycles

Lesson 5
App Architecture (UI Layer)

  • Learn one way to structure an Android app and the benefits that come with this design
  • Learn about two classes in the lifecycle library: ViewModel and LiveData

Lesson 6
App Architecture (Data Layer)

  • Build a Sleep Quality Tracker app and use a database to store the data over time
  • Use SQLite to manage your database

Lesson 7
RecyclerView

  • Use RecyclerView to make significant improvements in the UI of your app

Lesson 8
Connect to the Internet

  • Build an application that connects to an internet server to retrieve and display live data
  • Simplify fetching data and images to make sure the app reasonably conforms to networking and image loading best practices

Lesson 9
Behind the Scenes

  • Learn how to implement offline caching by building an app that lets users watch DevByte videos
  • Take an online-only app and transform it to work offline by adding offline caching

Lesson 10
Designing for Everyone

  • Improve your app design to support multiple languages as well as support multiple device sizes and orientations
  • Learn how to make your app accessible for users who might need assistance navigating like supporting talkback and push button navigation

Prerequisites and Requirements
To succeed in this course, you should have experience navigating GitHub, and be comfortable using a Modern IDE, and the OOP language. You should be familiar with threads and concurrency, and with modular app architectures.Some Kotlin experience is also recommended. You should be comfortable with Kotlin syntax including: nullable and non-nullable variables, methods with default and variable arguments, data classes, object expressions, lambdas and extensions.Finally, you’ll need:

  1. Reliable internet connection to download required software and libraries
  2. Android Studio 3.2 or higher
  3. A GitHub account and understanding on how to use GitHub
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 2 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.

Aug 3rd 2026
5-12 Weeks
Android Interview Prep (Udacity) Udacity
Udacity,Google

Android Interview Prep (Udacity)

Confidently take on the tech interview. This course is an excellent way to prepare for technical interviews. You’ll experience a mock interview, and review detailed analysis on how to field key industry questions. You’ll work through common Android Developer interview topics ranging from explicit and implicit intents to designing a min stack, and you’ll learn best practices for behavioral questions and whiteboard problems.

Self Paced
Self-Paced
App Design and Development for iOS (Coursera) Coursera
University of Toronto

App Design and Development for iOS (Coursera)

In App Design and Development for iOS, the third course of the iOS App Development with Swift specialization, you will be developing foundational programming skills to support graphical element presentation and data manipulation from basic functions through to advanced processing. You will continue to build your skill set to use and apply core graphics, touch handling and gestures, animations and transitions, alerts and actions as well as advanced algorithms, threading and more. By the end of this course you will be able to develop a more advanced, fully functioning app.

Aug 3rd 2026
5-12 Weeks
Learn UI Design Fundamentals (Coursera) Coursera
Scrimba

Learn UI Design Fundamentals (Coursera)

The ability to create stunning user interfaces is a skill any frontend developer will benefit from, whether you're in a team, a consultant, or want to build your own projects. This course will teach you the seven fundamentals that underpin any beautiful and effective user interface. Through lectures and interactive exercises, you'll discover the skills you need in order to build UIs that both look amazing and feel great to use. You will build everything in the browser using HTML and CSS, and put your new skills to the test many times throughout the course!

Aug 10th 2026
1 Week
Introduction to UI Design (Coursera) Coursera
University of Minnesota

Introduction to UI Design (Coursera)

In this course, you will gain an understanding of the critical importance of user interface design. You will also learn industry-standard methods for how to approach the design of a user interface and key theories and frameworks that underlie the design of most interfaces you use today. Through a series of case studies on commercial systems - many of which you likely use on a regular basis - we will illustrate the benefits of good design.

Aug 3rd 2026
4 Weeks
Engineering Maintainable Android Apps (Coursera) Coursera
Vanderbilt University

Engineering Maintainable Android Apps (Coursera)

Engineering Maintainable Android Apps, which is a 4 week MOOC that shows by example various methods for engineering maintainable Android apps, including test-driven development methods and how to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as how to successfully apply common Java/Android software patterns to improve the extensibility and clarity of Android apps.

Aug 3rd 2026
4 Weeks
Build Your First Android App (Project-Centered Course) (Coursera) Coursera
CentraleSupélec

Build Your First Android App (Project-Centered Course) (Coursera)

In this project-centered course, you’ll design, build, and distribute your own unique application for the Android mobile platform. We’ll provide you with a set of customizable building blocks that you can assemble to create many different types of apps, and that will help you become familiar with many important specificities of Android development. When you complete the project, in addition to having a personalized app that you can use and share, you’ll have the skills and background you need to move on to more advanced coursework in Android development.

Aug 3rd 2026
4 Weeks
Firebase Analytics: Android (Udacity) Udacity
Udacity,Google

Firebase Analytics: Android (Udacity)

Improve your apps with better user data. In this course, you’ll learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution. You'll be able to learn who your users are and how they interact with your app. You can then use this information to make informed decisions to improve your app, such as how difficult to make a level in a game, where to place an advertisement, or what products to stock.

Self Paced
Self-Paced
Build Native Mobile Apps with Flutter (Udacity) Udacity
Udacity

Build Native Mobile Apps with Flutter (Udacity)

Learn from experts at Google how to use Flutter to craft high-quality native interfaces on iOS and Android devices in record time. In this course, you'll learn how to use Flutter to quickly develop high-quality, interactive mobile applications for iOS and Android devices. Whether you’re just getting started with mobile app development, or experienced with other mobile app frameworks, you’ll enjoy the high-velocity development and quality apps that Flutter enables.

Self Paced
Self-Paced
Android Architecture/Multimedia Framework (Coursera) Coursera
Board Infinity

Android Architecture/Multimedia Framework (Coursera)

This is an Intermediate Course intended for learners passionate about Android Development and have basic knowledge of Android Development. Embark on a comprehensive exploration of Android's architectural components, complemented by an in-depth study of its multimedia frameworks. Designed for software developers, mobile app enthusiasts, and tech professionals, this course offers profound insights into the Android operating system's inner mechanics.

Aug 10th 2026
4 Weeks