Starting with Android — The How, What and Where
By: Anshaj Khare
Tags: Android, Apps, Android App Development, Learning, How To

Photo by Farzad Nazifi on Unsplash

A few weeks ago I took my first ever workshop on Android, more specifically on adding Voice Augmented eXperiences to Android apps. The participants were mostly first-year engineering students, and most of them had never worked with either Java or Android before.

Before I go ahead, if you are wondering what is a Voice Augmented eXperience or VAX, let me break it down for you. VAX is the concept of augmenting or enhancing an already existing experience, usually a Touch-based app. VAX builds on the foundation that both voice and touch have their benefits and shortcomings, and by augmenting them together, we can provide a far better experience for the user than using “touch-only” or “voice-only” medium. You can read more about what VAX is here.

Many of those participants came up to me after the workshop, for guidance about starting with Android Development. I went through a similar phase when I started learning Android — I had no idea where to start. I routinely got overwhelmed by the sheer amount of content blasted on my screen after a simple Google search “How to learn Android?”. One thought that kept bothering me was,

“Where do I even begin?”

If you are one of those people, this article should help you out. I have tried to keep it brief and structured in a manner that should be easy to follow.

First off, to work on Android you should know either Java or Kotlin. Google added Kotlin as an official language for Android development in 2017, and it has been gaining in popularity since. Most of the resources linked below are for Java, so if you’re following the flow here, it’s advisable you begin with Java. Kotlin is interoperable with Java, meaning you can have both Java and Kotlin files in the same project; you can always switch to Kotlin in the future once you are comfortable with the Android platform.

If you already know Java you can skip the Java section below.

Java

You can check out the following courses on Java to get started.

Udacity’s Object-Oriented Programming in Java

Microsoft’s Learn to Program in Java

Microsoft’s Object-Oriented Programming in Java

Blogs, Docs, and Podcasts

The first thing you should do is check out the Android Developers page. It’s a great place to get started with many resources available on the site.

You can also check out the following publications on Medium, they regularly churn out top-class content.

Also, you might want to follow these Android Experts as well,

Here are some more blogs to follow,

Antonio Leiva’s blog: Kotlin enthusiasts should check this one out.

Riggaroo: This is a blog run by Rebecca Franks, a Google Developer Expert in Android since 2016.

Now that we have blogs out of our way, you should also subscribe to the Android Weekly newsletter. Every week it curates the best Android content, from blogs and tutorials to videos and podcasts.

Speaking of podcasts, if you’re someone who loves them, we got you covered.

Android Developers Backstage: This podcast is hosted by developers from the Android Engineering team, be sure to check them out.

Fragmented — An Android Developer Podcast: Fragmented is a podcast focusing on building good software and becoming better Android developers.

Talking Kotlin: If you’re one of those who are excited to get your hands dirty with Kotlin, this podcast is for you.

Android Courses

If you like a coding-intensive approach to learning, you should take a look at this codelabs series by Google. It covers everything from beginner level to advanced level concepts for Android, by taking a hands-on approach to teaching you concepts.

Udacity has a fantastic catalog of Android course materials. If you are looking for a structured approach to learning Android, you should definitely check them out. The courses have been built in association with developers from Google, are easy to follow and have plenty of hands-on exercises. You can start with Android Basics in the order specified, and then go ahead with the intermediate level. All the mentioned courses are free of cost.

Android Basics

Android Intermediate

You can also take a look at this “Android Developer Fundamentals” YouTube playlist by Google Developers India. It does not have the hands-on exercises like Udacity, but it also starts from the basics and has a comprehensive list of topics covered.

If you’re interested in learning Kotlin, you should give this course a try.

YouTube

You can follow the following channels and playlists on YouTube.

Miscellaneous

Some other extras you can check out if you wish to.