Let’s start at the very beginning. Why would you want to learn to develop Android Apps?
There are plenty of good answers to that question. The first is that Android gives you access to more than two billion monthly users in a very direct fashion. Android is the number one mobile operating system and now stands well above iOS in terms of sheer numbers. Android doesn’t just run on phones but also on tablets, televisions and smartwatches. And now Android apps can even run on Chrome OS! Sure, iOS users traditionally spend more on their apps, but even that gap is starting to close as Android users become more willing to shell out for their software.
What’s more, is that Android is relatively easy to develop for. Not necessarily in terms of the complexity of the code or getting set up (which we’ll be getting to over the course of these posts) but in terms of the barrier to entry.
To develop for Android, you need the Android SDK, probably Android Studio and the Java JDK. It’s all free and we’ll see just how easy that is to set up soon. Building a basic app isn’t that hard – most of it can be done through a visual designer in fact – and for those that do get stuck, there are plenty of tutorials available right on this site!
Then, once you have your app ready to go, it’s a very simple process to create an APK (a file that will contain your app and allow for easy installation) and submit it to the Google Play Store. A single one-off fee of $25 is all it costs and you’ll be able to upload unlimited apps from then on. And even the review process is automated (no humans are involved), meaning your app will be visible within a few hours. The Google Play Store makes it a breeze for people to find and download your app. As a ‘route to market’, this makes it very easy to get the word out and to let people start enjoying your creations. Creating something popular on Android is far easier than having success on PC or Mac.
With just a little bit of basic knowledge, you can create a professional looking app and then release it to an audience of billions in no time at all. You’ll be able to use your app on your own device wherever you are and take advantage of the considerable benefits of being on a mobile device (location awareness, connectivity, NFC) to add unique and interesting features. It’s a skill that is in high demand too, meaning it’s ideal for improving your employability. Better yet, Java (which is the official programming language of Android) is the number one language sought after by employers!
It really is the perfect convergence of factors that makes Android an ideal platform to develop for. Getting an app released on iOS is considerably harder and means you’ll be reaching a smaller audience. Developing for PC means struggling to find a platform to get word out about your device. But Android development means building apps for the devices that are in our pockets already.
Getting started with Android development
Have I convinced you yet? Great! So then what do you need to get started?
To begin with, you’ll need a computer with fairly decent specs, though nothing major. If it was made in the last few years and it runs Windows, you’re probably good to go. From there, you’ll need to download a few things:
Start with the latest version of Android Studio. At the time of writing, the latest version is 2.3.3, but 3.x (which is how we write three-point-whatever-the-latest-number-is) is just around the corner. Choose whichever one is recommended at the Developer.Android site here. The good news is that the Android SDK comes packaged with Android Studio now, so there is no need to download that separately. The only other thing you’ll need is the Java JDK, which you’ll need to download separately from Oracle’s site here.
We’ll go into how to download and set everything up in a more detail in the next post. For now, let’s concentrate on what these components actually are.
The JDK: The Java JDK is the ‘Java Development Kit’ (yes, the ‘Java’ I just used is redundant), meaning that it will enable your computer to understand and interpret Java code (Java being a programming language and the preferred option for Android). This is important because your apps will be written using Java – so you’ll need it in order for the rest of this to work. You’ll never need to touch this again unless you move computers, but you do need to download and install it initially.
Android Studio: Android Studio is the official ‘IDE’ for Android Development. An IDE is an ‘Integrated Development Environment’, meaning that it will act as your ‘central hub’ for development. This is where you will enter the Java code, it’s where you will run and debug apps and it’s where you will manage all your project files. This is the piece of software that provides your interface for coding and testing then but it requires the other elements on this list in order to do that.
The SDK: The SDK is the ‘Software Development Kit’. This is a selection of tools required to build Android apps and ensure the process is as smooth as it can be. These tools include additional code that will serve as a bridge between the Java and the Android devices (so that you can access native Android features), things that will help to actually compile and run your code and other useful tools that can be beneficial while coding – such as an emulator to test your apps on. (An emulator turns your Windows PC into an Android device so you can test the apps you’ve created without needing a separate piece of hardware).
The great news is that the SDK comes bundled-in with Android Studio. So, to get started, you just need to install Studio and this will then be ready to go! As with the JDK, you won’t need to use this directly until a much later stage. For most tasks, Android Studio will interact with it for you.
So, with all this in mind, we are starting to build a picture of Android development.
Effectively, an Android app is code written with Java (which requires the JDK) but which has additional functionality layered on top thanks to the Android SDK. It also consists of various images, layout flies, music and other ‘resource’ files. Android Studio puts all this together for us and when you hit ‘Run’ or ‘Export’, that code and all the assets will be placed into a container called an APK. This is something like a .zip file in that it is compressed and like a .exe in that it will work as an installation file. At this point, you have a single file that you can share and run in order to distribute your programs.
There’s a lot more to it than that, but that’s the basic gist. And now you understand how Android development essentially works, we can start getting our hands dirty and actually get building! In the next post then, we’ll look at how to install Android Studio on your PC, along with the SDK and JDK.