Ever wanted to be an Android developer? Perhaps you just have an idea for an app that you’d like to develop? Either way, this guide to Android development for beginners will set you on your way!
Also read: What is Python and how do you get started?
This post will explain the basics of Android development for beginners: the files you need, how to set them up, and how to launch your first project.
We’ve written tons of tutorials and guides for would-be developers here at Android Authority, so throughout this post, I’ll also provide links that you can follow to extend your knowledge. This is the first step on an amazing journey with limitless possibilities.
Why learn Android development?
Learning to build Android apps is an extremely worthwhile pursuit. Android is a hugely popular operating system, with a gigantic install base. At its I/O developer conference in 2019, Google announced that it had 2.5 billion active users! This creates a massive potential audience for the apps that you might develop, and ensures that there will always be work for Android developers!
The nature of Android also makes it a highly appealing option. As a mobile operating system, Android apps have access to the myriad forms of data collected by phone sensors. Android apps are always in our pocket, and they can make our lives easier in countless ways.
Moreover, learning Android development for beginners is simpler than you might think. Google has done everything it can to make this process as frictionless as possible, with all the tools you need being downloaded in a single package. Developers can also release apps to Google extremely easily, for a one-time fee of just $25! Most apps are automatically accepted onto the store.
Android development for beginners: setting up your development environment
So that’s why you should learn Android development for beginners. Convinced? Great! Let’s move on.
In order to get started with Android development, you will need to install an “Integrated Development Environment” or “IDE.” An IDE is the interface that you use when programming. This provides you with an area where you can edit code.
You’ll also need a copy of the Android “Software Development Kit” or “SDK.” The SDK is a selection of tools that are crucial for Android development specifically: libraries, a compiler (for turning your code into working apps), a debug bridge, an emulator, and more.
You won’t need to interact with the SDK itself but you’ll need to tell the IDE you use where to find it.
You can learn more about the Android SDK here:
And you can download it from Google here. Make sure to download the latest version.
There are actually a number of different IDEs that you can use for Android development. Options include Xamarin, Unity, and B4A. However, Android Studio is the “official” IDE from Google for Android development. Android Studio comes with the Android SDK in a single download, and the installation process will set you up with a ready-to-go programming environment.
If you are learning Android development for beginners, then I highly recommend that you choose Android Studio as your IDE. As the most “official” Android IDE, it is also the most versatile, the first to receive updates, and the tool of choice for employers.
If you want a little bit of help getting Android Studio set up, you can find all the instructions you need to follow here:
Starting your first Android project
Once you’ve installed Android Studio, you’re ready to get programming!
To begin, launch the program and select New Project. You’ll then need to name your app and add a company domain. These two elements combined will give you your “package name” which is a unique identifier for your app within the Android ecosystem.
So your app might be called com.androidauthority.mycoolapp.
You’ll also be asked to target a specific version of Android. The “Minimum SDK” refers to the oldest version of Android you want your app to be compatible with. The lower the number you put here, the more people can enjoy your hard work. The drawback is that newer versions support the more recent features; so if you want access to these, you might need to specify a higher number.
As we’re discussing Android development for beginners, you can probably just leave this option on the default setting.
Of course, you should choose to develop for “Phone and Tablet” rather than TV, or any of the other options; unless that’s what you’re interested in.
Android development for beginners: should you start with Java or Kotlin?
You’ll also need to decide if you want to write your code in Java or Kotlin. These two programming languages have some minor differences.
Java has been supported since the earliest days of Android development, but Google is learning away from this option as it belongs to another company (Oracle/Sun Microsystems). Kotlin is also slightly easier to develop for, requires less “boilerplate code” (this term refers to repetitive code that is the exact same in every project), and has built-in defence against some common errors found in Java.
Choosing Kotlin might seem like a no-brainer, then. That is, until you consider that Java is more widely adopted outside of Android development. In fact, Java is right up there with Python, Java, and C++ as one of the most popular and in-demand programming languages.
If you’re learning Android development for beginners as a way to learn broader programming skills and enhance your career, then you might be better served by learning Java.
The entrenched nature of Java also means that many larger development companies have yet to make the switch to Kotlin. As with most things, the right answer will depend very much on your personal preferences and what you hope to achieve.
Learn more about the differences here:
Once you’ve made your choice, you can choose a template for your first “Activity.” An Activity is essentially a “screen” in Android. The option you choose here will determine the UI elements that are included by default.
Once you’ve made this selection, you’ll be greeted by some code – you’re ready to start programming!
Your first Android app and where to go from here
What you are looking at now is the Java or Kotlin code necessary to print “Hello World” to the screen. That’s located in the large window on the right.
On the left is a file explorer that shows you all the different programs that make up your app. You don’t need to worry about most of these, as many of them are used by Android Studio and the SDK to build your apps.
What is important is that the MainActivity file is the Java or Kotlin file that you’re currently looking at. This file is linked with another file called activity_main.xml. Whereas MainActivity defines the behavior of your app, activity_main.xml is responsible for the user interface.
This uses different types of code called XML. XML is a markup language that describes the position of visual elements on the screen and works a lot like the HTML code that is used to design websites. One downside of learning Android app development for beginners, is that it involves a lot of fragmented elements. It gets worse: Google has a habit of introducing new concepts and tools all the time.
If you want to see how all this works, plug an Android device into your PC and make sure you have enabled USB debugging through the developer options first:
Now hit the little play button at the top of the screen. You’ll see that the app is blank, except for with the words “Hello World” displayed on the screen. (Writing “Hello World” is a development tradition when learning any new language, FYI.)
To accomplish this, your code needs a text label to display the text. This is laid out in your XML file.
This uses different types of code called XML.
If we want that text to do something when it is clicked though, we need to add code to the MainActivity file referencing that “view” (the Android word for widget) and then defining the logic for what would happen next. This is how those two files work in tandem to deliver the Android experience we know and love!
The code that is already in your MainActivity program currently just tells Android which layout file to display. As a rule, MainActivity is usually the first activity that will be shown when launching any app.
Furthering your education
Seeing as you might be using one of two different programming languages, I won’t dive any deeper into the programming itself.
Instead, I recommend you continue your education in Android development for beginners by checking out one of our coding tutorials:
You could also try out one of our easy beginner projects:
Finally, you should definitely check out Google’s official Developer Guides:
Good luck, and happy coding!