Why should you learn Android app development in 2024?
Android is one of the two top players in the smartphone industry, alongside iOS. Android currently runs on more than 3 billion devices (that’s more than 70% share worldwide), so you’ll surely be able to reach quite an audience with whatever app you have in mind. Besides this, you’ll join a very energetic community, the ability to see exactly how Android itself works (as it is open source) and be able to interact with cutting-edge technologies powered by IoT (Internet of Things), AR (Augmented Reality) & VR (Virtual Reality).
Are Android app developers in high demand?
In short, YES. And that’s because the mobile app market continues to grow, and Android being the most widely used operating system means that the need for developers will rise, as well. There’s also a key component that makes Android increase its presence over multiple device factors, namely the fact that it’s open source. This allows it to run on a multitude of device factors: Android Automotive (runs directly on the car’s hardware), Android TV (tailored Android version for TVs), wearOS (based on Android and runs on wearables like watches), besides the well known Android operating system, which can run not only on mobile phones, but also on tablets, TV boxes, POSes, kiosk systems and whatever hardware you can think of.
Who can become an Android app developer?
That’s a topic for anyone who has the willingness to learn and dedicate themselves to becoming an Android developer. There are, of course, certain aspects like educational background and skills that can help you along the way and make the journey smoother. Being a student or graduate in Computer Science, a self-taught programmer or being already a developer and looking to transition to a different field will definitely help in this process. Having a strong interest and commitment to learning will keep you on the right path.
Steps to becoming an Android developer
1. Learn a programming language
It should be pretty obvious that in order to start developing on Android, you need either know a few things about programming, or you’re keen on learning how to program. What programming language you already know is not super important at this phase, but having worked with Java or Kotlin will help you pick up the pace in the process.
Java or Kotlin?
While Java was the de facto language for Android back in the old days, Google has included Kotlin as a first tier language since Google I/O in 2017. Kotlin is a modern programming language that provides a lot of quality of life improvements over Java and packs lots of capabilities in a much more developer friendly way. Nowadays, Kotlin has reached the status of go to language for Android, while Java is 100% still supported alongside C++.
2. Get to know Android for Developers
If you’re already into development, you surely know that it all starts with the tools you have at your disposal in order to kick start doing what you know best, writing awesome code. But how can you write amazing code without getting a little bit technical? In recent years, Google became really opinionated about Android, and started promoting MVVM (Model View View-Model) as the architectural pattern for mobile apps. They are also relying on a shiny new declarative UI toolkit called Jetpack Compose that pays great respect to reusing code, performance, flexibility and reactivity. You can always default to the classic XML layouts, but we would suggest trying out Compose, you’ll love it. There’s of course support for dependency injection through the form of Hilt (an Android version of Dagger) and many others, if you’re into that. Want to test your code? There’s support for both unit tests and instrumented tests through different solutions like JUnit, Espresso, Maestro, and the list goes on and on and on.
3. Familiarize yourself with the right tools
Android Studio - where Android development feels at home. This is the IDE where you’ll spend most of your time developing, debugging and scratching your head to make the app work as intended. Built on top of the great Intellij IDEA, it offers a great suite of tools to develop, debug, profile and release Android apps with ease.
Android Emulator - your Android virtual device. The Android emulator is a very capable virtual Android device that you can use to test your app against different screens, densities, capabilities and form factors (including tablets, foldables, phones and others).
Git - the tool that helps you make your developer life easier. Git is a code version control system that lets you save snapshots of your code so that you can always go back to a running version. The tool helps you manage your codebase and easily switch between different version of your code - maybe you’re currently developing new functionalities, but there seems to be a problem with your published version of the app so you need to jump back to that version of the code, fix the issue and publish a hotfix.
Gradle - the one that brings everything together. Gradle is the build system that helps you get your app from its code & resources mix to a shiny bundled Android app. It handles all the dependencies that your app needs, downloads them, compiles everything and produces the necessary output so that your great app can see the world.
4. Get some practical training
If you’re still reading, it means that you’re really committed to this journey, so why not start with the Android Basics with Compose course provided by the Android team themselves? It covers a lot of topics and it will get you up to speed quickly.
There are other courses that were built in collaboration with Google and are hosted by Udacity. Those are using the XML based layouts, but mastering both the Jetpack Compose and the XML-based UI is a big plus as you might end up in codebases that use both. There’s the Developing Android Apps with Kotlin course that gets you started on the basics, and there’s the Advanced Android with Kotlin course that gets a little bit more in depth with the different capabilities that Android can offer.
5. Learn to navigate the project structure
You’ve hit the New Android Project, you’ve checked the options that you wanted in the wizard, now what? Well, you’re seeing for the first time how the project structure looks. There are a few very important files that you might want to know:
- AndroidManifest.xml - this is the central piece that describes your app’s capabilities, what it’s called, what permissions it uses, what device capabilities it needs and many other vital details about your app.
- build.gradle - you’ll have one in the root of the project, and one for each module of your app. This file is the Gradle configuration file and you can configure details like - the minimum version of Android that your app supports, what is the unique identifier of your app, what dependencies are used, compilation and compatibility configurations and a lot more.
- MainActivity.kt - the main UI component of Android is the Activity component. You won’t be able to display much UI without it and everything that your app draws is hosted here (or at least the vast majority of it).
- Resource files - all the strings are kept into one or multiple strings files (by default called strings.xml), this helps a lot with providing localized strings if your app is multilingual. There’s bitmap and vector drawables that you can store here as well. The res folder can host other files that are needed for the app (fonts, sounds, etc).
6. Start coding - and start small
Now that you know some basic things about Android, you can start a New Project in Android Studio and begin to write some basic things. There are multiple options when starting a new project, but we would suggest starting with an Empty Activity project so that you can see the most basic configuration of an Android project. You can then start adding some widgets on the screen (text, buttons, images, etc). No idea what to write? Start with a simple counter app that tracks how many times you’ve pressed a button.
7. Join the Android community
There is a wide and vibrant community that waits for you, so don’t forget to make yourself part of it. As with everything on the internet, there’s very much information related to Android and it comes in all shapes and sizes. If you’re more into listening to podcasts, there’s the Android Developers Backstage & Now in Android podcasts that can get you started. Now, if reading is the preferred way, there are certain blogs and newsletters that you can subscribe to: AndroidWeekly newsletter, the Jetpack Compose Newsletter and the ProAndroidDev blog. More into social media? Follow these channels on X - @kotlin, @AndroidDev & @androidstudio. Last, but not least, some Youtube channels to follow are Android Developers & Code with the Italians.
These are the main steps we think you should follow when kick starting your Android development path. It’s worth mentioning that this is, of course, not the only way to approach this, there are vast resources available on the rest of the web that you can check out as well. In the end, if all of this sounds way too complicated for you, why not pitch your idea to us and we’ll guide you through the whole thing. Fingers crossed, whatever path you chose, may the force be with you.
Frequently Asked Questions
Is it worth it to learn Android app development?
Definitely if you’re seeing yourself creating cool, magic, fluent apps. There’s a lot of demand for Android development across the globe and it will definitely still be the case for the foreseeable future.
Who earns more, iOS or Android Developers?
It depends a little bit on the geography, as market share of platforms impact the demand and the demand impacts the price, but there isn’t a significant difference between Android and iOS developers. So it’s OK to assume that earnings are quite similar for the same experience / seniority levels across platforms.
How long does it take to learn Android app development?
It really depends on your background and programming skills. If you’re already into development, getting accustomed to Android is quite straightforward and will take you at least a month to get things rolling and master the basics. If you’re new to programming and would like to learn it while creating apps, this will take a bit more. Expect at least four months to handle the basics of Android and build up from there.
Laurentiu Onac
Head of Android