Learning to code is difficult enough on its own but with Android development it can be more complicated. Not only do you need to understand Java, you also need to install all the Android-specific software and learn all of the unique quirks of Android app development.
In general, creating an Android app requires the SDK (Software Development Kit), an IDE (Integrated Development Environment) like Android Studio or Eclipse, the Java Software Development Kit (JDK) and a virtual device to test on. All this takes work to set up, and that’s before you’ve even started looking into things like Google Play Services, screen sizes, API levels…
My aim with this article then, is to provide an approachable guide to try and make the whole prospect of creating an app a little less daunting… I’ll explain the bits you need to know and gloss over the rest and by the end you should have a basic app that you can start iterating on and experimenting with.
Android Studio
To program in most languages, you need a piece of software called an IDE or ‘Integrated Development Environment’. The most common IDE for Android development is Android Studio, which comes direct from Google itself.
An IDE is what gives you the main UI where you’ll enter your code (you can’t just start typing into notepad). It also highlights things you get wrong, offers suggestions and lets you run and test your creations conveniently. It creates the files you need, it provides basic layouts and generally it saves you a lot of time and effort.
What’s great about Android Studio is that it is designed specifically for Android development (unlike the second most popular option, Eclipse). This means that when you download the software, you’ll also get a lot of the other bits you need including the Android SDK (a selection of tools including the Android platform itself) and the Android Virtual Device, which is an emulator you can test your apps on. When you go through the installation, make sure you leave the boxes ticked to confirm that you want these additional components. You could manually add them later, but this will just complicate matters.
As mentioned, there are some alternatives to Android Studio. Eclipse is an older IDE that can be used for developing other things too (such as iOS apps) and that is a bit more flexible overall.
There are other options too, such as Unity3D and numerous app builders, each of which has specific strengths and weaknesses depending on what you’re planning on building. For the sake of simplicity though, we’re focusing on Android Studio because it has become the ‘main’ way to build basic apps and pretty much the industry standard. If you think you might ever sell your business, if you want to give yourself the most flexibility and control possible, or if you’d like to become a professional app developer, you’ll need this tool.
Setting Up Android Studio
Now you have Android Studio installed you’ve taken your first, bold step toward becoming a developer!
Before you can get started, you also need to install Java on your machine to use Android Studio. Specifically, you’re going to need install the Java Development Kit (JDK). Java is the programming language you’re going to be using to build your apps in this instance and you need to install the JDK in order for Android Studio to be able to interpret and compile your code (compiling means turning the source into something that is understood by the CPU – machine code).
Now you can click on Android Studio to launch it. Once it opens up, you’ll be presented with a menu where you’ll be able to get started or configure some options. The great thing is that everything is handled for you at this point, though you may want to familiarize yourself with the SDK Manager (Configure > SDK Manager) which is where you’ll update your Android SDK to support newer versions, as well as download things like code samples or support for Google Glass.
So really there are three main things interacting when you use Android Studio to create your apps.
  Android Studio itself, which is an IDE that provides you with a nice interface for coding.
  The code you write in Java, which you installed a moment ago…
  And the Android SDK which you’ll access through your Java code in order to do Android-type things