Learning how to create Android apps for mobile phones and tablets has never been easier. With tools like Android Studio and plentiful learning resources online, you can learn to develop simple apps in a matter of months.
In this post I’ll talk about how to get started programming Android apps with an added list of helpful learning resources. This is also the path I took when I started learning Android development in late 2013.
The whole learning process is divided into two steps, because both Java and Android are complex and can be confusing. While it’s possible to learn both at the same time, I suggest against it. You’ll just end up confused and stressed out, because you’ll be learning two complex subjects that are interconnected and you won’t know where Java ends and Android begins.
Step 1 - Learn Java or Kotlin
Android uses the Java programming language, which is a very robust object oriented language, that’s pretty widespread and it’s been around for ages. It’s mostly used in desktop applications, as well as in web and mobile development. It’s not the easiest language to start with because it’s pretty verbose (that means that you have to write a lot of code for even the simplest of operations), however learning Java will give you a solid foundation in object oriented programming, and that will help you in other areas as well.
You can also use Kotlin, which is also supported by Android. Kotlin is a newer language that works on top of Java. You get a modern syntax, cool new tools, and you're still able to do everything that Java does.
Spend the first few months just on learning Java/Kotlin. Learn the syntax and understand how everything works. You’ll need to be able to create classes, create and call methods, use interfaces as well as know how inheritance works, before you can go to the next step. These are the basics of Java, and you’ll use them extensively when developing Android apps.
Step 2 - Learn the Android SDK
Once you’re confident enough with Java, you can tackle the beast called the Android Software Development Kit (SDK). The Android SDK is actually a bundle of helpful tools consisting of Android libraries, emulator, debugger and documentation. It gives you a framework of Java classes and methods that all Android devices are able to use. The whole SDK is neatly packaged inside Eclipse or Android Studio, allowing you to only worry about your code and how devices implement it.
Android apps are a bit different from ordinary Java applications, because they’re build around Activities and Fragments, which both have lifecycles that determine the state of the app. When learning Android it’s not about learning how to code, it’s more about understanding the way Android works. That means that you’ll spend the majority of the time learning about Activity lifecycles, Fragments, RecyclerViews, Bundles and other important Android concepts.
Remember to start out by doing simple apps like a tip calculator or a unit conversion app. Then expand to more difficult areas like GPS or networking.
It took me about six months for me to be able to create simple Android apps using the resources and plan mentioned above. It’s a bit harder at the start, but it gets easier. Just remember to start slow, keep at it, and never give up!