There are a ton of programming courses about how to code games and apps. However, many of them don't show the full process of coding a program all the way through putting it on the app store for people to download.

We've released a full course on the freeCodeCamp.org YouTube channel that will teach you how to create and publish an Android app from scratch.

Rahul Pandey teaches this course. Rahul is an engineer at Facebook. He also lectures at Stanford University and has published many apps.

In this beginner's course, you will learn to use Kotlin to build and publish a customizable memory game that can save content to Firebase cloud storage.

The app you will build allows you to play one of the predefined games, or play a custom game created by you or a friend! This is a classic memory game that allows you to use photos from your phone.

Rahul has already published the app from this course on the Play store. You can check it out here and then watch the course to learn how to build it yourself.

In this course, you will learn about:

  • Dynamic layouts
  • Multi-screen navigation
  • Image loading
  • Persistence with Firebase

You will also learn practical tips and tricks about app development and Rahul's checklist that he goes through before publishing apps on the Google Play store.

This is a beginner's course but you should have some programming experience. It would also help to know a bit about Kotlin, but it is possible to follow along even if you are completely new to the language.

Here are all the sections in the course:

  • Intro + app overview
  • Create the main layout
  • Setup the RecyclerView to show memory cards
  • Add the BoardSize enum + create icons
  • Create the memory card and game classes
  • Implement the game logic
  • Display game info
  • Add menu options for game control
  • Use an intent to navigate to the CreateActivity
  • Build the image grid in the creation flow
  • Choose image intent
  • Image upload preparation
  • Upload to Firebase Storage
  • Save the memory game to Firebase
  • Play memory with custom images
  • Add menu option to download a game
  • Style updates
  • Creating a release build
  • Publishing your app to Google Play
  • Concept Review

Watch the full course on the freeCodeCamp.org YouTube channel (4-hour watch).