How to become an Android developer - Android development basics - Main image

Intermediate

How to become an Android developer - Android development basics

In this article we are going to talk about how to become an Android developer and what basic knowledge you have to master to become one. 

Miha Cirman - CodeBrainer
Miha Cirman
14 min read

As a beginner, one of the hardest things is just knowing what you need to learn. Besides taking a look at how to become an Android developer, we will also discuss why you should learn Android development. Here at CodeBrainer, we come across students who ask us what kind of topics they need to learn before they become proficient in Android development. The checklist isn’t short; nevertheless, we have decided to list most of the points that beginners should check-off. 

First I must emphasise that this is a checklist but you can skip a step and you don’t need to learn it all in one week. It will take quite a bit of your time, but in the end, you will have enough skills to start a project of your own or start asking for internships, help a friend or acquaintance or even start applying for jobs.

We will try to explain a little bit about every topic. But some things you will have to research on your own, nevertheless let us know if you think we should add something to the list.

 

How to become an Android developer - Checklist 

In our opinion, these are the skills and Android development basics you should conquer:

  • Android Studio
  • Layout Editor
  • Emulator and running apps
  • Android SDK and API version
  • UI Components and UX
  • Storing Data locally within the app
  • Calling REST APIs
  • Material design, styling and themes
  • Java or Kotlin and Objective programming
  • Debugging

Learn how you can start creating apps with Flutter.

Learn more

How to become an Android developer -  WHY?

As I said, before we can talk about what to learn and how to become an Android developer, we have to talk about why you should learn it in the first place. A lot of students wonder where to start and to be perfectly honest; Android Development is an excellent place to start. There are a lot of reasons; I like Android because it is accessible to anyone and you can install development tools on most operating systems. For example, I run Android studio on my MacBook Pro :D

 

Great IDE (Integrated development environment)

We will talk about Android Studio later, but for now, let me just tell you since it has grown to version 3, the IDE is excellent. With every version, we get more help in so many logical ways, that you will not even notice you are using artificial support.

 

Easier to start than web development

I like web development, but I still like to promote mobile development to beginners. Why? With mobile development, you get a friendly environment from the start. The thing that makes mobile development better for beginners is that we all use mobile phones all the time. You get a feeling of how an app should look like and what kind of functionalities you will need. With web development, it is harder to get a feel for the whole website, since you are looking at only one page at a time and then doing another google search. Most of the time, you already own a device, and you can install an app directly to your device and show it to your friends. In fact, I guarantee they will be amazed at what you can do.

 

Huge market size and mobile usage is still growing

The mobile application market has an excellent projection: by 2021, it is expected that the number of mobile app downloads worldwide will reach 352 billion. Android has a 76% market share compared to iOS, with 19%. We do have to be fair and admit that iOS is a better earner. Google Play earned $20,1B in revenue, while the App Store made a revenue of $38,5B. Google Play grew about 30 percent over 2016. And without doing any precise calculations, you can clearly see that this is a great market to work on.

 

New technologies are coming fast

Google is favourite to be on the cutting edge of technology all the time. No to mention, more and more of it is available for developers to use. Google is opening its knowledge about machine learning and artificial intelligence with development kits. And these improvements are available to Android developers very quickly. This will keep you on the edge of curiosity and keep you in touch with the ever-evolving world of IT.

 

Wide range of services for developers

Apart from new and cutting edge technologies, Google offers a lot of services to us out of the box. Maps, Analytics, Places for location awareness apps. A Great place to start is Firebase that offers notifications, analytics, crashlytics, real-time database (develop apps without the need for servers). Additionally, for launching apps all around the world, Test Lab could be a great partner, since you can test your app on a bunch of different devices.

 

“Android developer” is a great job to have

There are now 2,5 billion monthly active Android devices globally, and it’s the largest reach of any computing platform of its kind. Globally speaking, between 70 to 80% of all mobile devices are Androids. There is a massive demand for new Android developers out there. And because the market is growing, there is a lack of Android developers all around the world. All in all, it is hard to determine an average salary for the whole world, but the fact is that you will get a decent salary for your knowledge no matter where you live. In the light of what has been said, let's take a look at how to become an Android developer.

 

Android Studio

Since Android Studio is the best IDE (Integrated Development Environment) for Android development, this is the first thing you must conquer. For the most part, our content focuses on explaining about Android Studio as we explain development for Android. This goes the same for the Layout editor and the Code Editor. 

 

Android Studio - Layout Editor

The Layout Editor is part of Android Studio. In fact, this is the place where you design the UI (User Interface) for your app. The main parts of an Android project are XMLs for designing activities, drawables and other resources and Java (or Kotlin) files for all the code you will write. Of course, on your path on how to become an Android developer, you will encounter more advanced projects where you will also learn about the structure of a project in detail.

But what I love most is that with the layout editor you are using a drag&drop approach and you can immediately see what you have done. You can place elements on the layout. You can group them into containers or views all using just your mouse. And this is great for beginners because you can get familiar with the code while already using a development environment. Even for mature developers, using visual tools helps when setting up screens, and in the layout editor, you can simulate the size of devices so that you can check if your design will work on all device sizes.

In addition, we have added a more in-depth look into Layout Editor as well. Check our Layout Editor blog post, learn about it and also find out a little bit about a few hidden features, so that you will develop your activities (screens) with ease.

 

Android Studio - Emulator and running apps

As we are creating apps for Android, and we want to run them to see how they look. One of the first things we need for that is an emulator. In fact, Android Studio has the ability to run an emulator out of the box. It has a lot of features. It runs fast and looks nice. All in all, it is a perfect tool to have. Generally speaking, this is just like going to the store and picking the best specs for your device, but in our case, it will be a virtual one.

Unfortunately, sometimes you have to prepare your computer to run an emulator. Here is an extended manual on how to configure hardware acceleration for an emulator or read our blog post on how to run an emulator.

You can also run an app on your mobile phone. This a good approach as well, as you check the touch and feel on a real device as you develop your app.

Here is an explanation on how to install drivers to run an app on your device.

 

 

Android SDK and API version

This is really a broad topic since it contains all that Android is about, all its functionalities. But as a beginner when you are starting to learn how to become an android developer, all you need to know is where to look for a new version, how to install it and a few pointers on which one to use.

A simple explanation would be: SDK (Software Development Kit) is a bunch of tools, documentation, examples and code for us, developers to use. API (Application Programming Interface) is an actual collection of Android functionalities, from showing screens, pop-ups, notifications… everything. We will give you a hint, use the API above 21 since this will get enough of devices to work with. And for a new project always aim for the last three major versions.

 

UI Components and UX

User interface components will link your app together, all the code, knowledge and data will be presented with some form of UI. UI means “user interface”, and this is what a user sees. UX means “user experience”, and this is the flow through the app, interactions, reactions to a users input, the whole story that happens within the app.

Of course, the best source of getting familiar with UI components would be our Calculator course since it explains most of them in great detail.

How to become an Android developer - Registration

 

We have a few more blog posts explaining other UI Components, like a spinner, radio button and mail performing checks in our registration form blog post.

But check back, since we are adding them as we go along.

 

Storing Data locally within the app

Storing data is essential for every app. It can be as simple as storing emails for a login to a full-blown database with tables, relations, filters… Moreover, we think you must go step by step on this topic and learn a little bit about what data is, what are entities, and where to store them.

The first topic we cover is in our blog post about storing data within sharedPreferences, and you should read it. The next issue is storing even more data by using Room, which is a great implementation of ORM (object-relational mapping) and is part of Android. In fact, ORM lets us work with data as classes in our code, this is a more modern approach, but Room still allows us to use SQL statements if we want to.

How to become an Android developer - RecyclerView

 

Once you have data in your app, you need to show it. And you can do this in a lot of ways; we show one of them blog post about showing data in RecyclerView.

 

Calling REST APIs

All the mature apps use some kind of REST (Representational State Transfer) calls. For example, if an app wants to know what is the temperature outside, in some city, it would use a REST API to get the data. If we want to login into a social network and get the list of friends we would use a REST API. This is a topic strongly linked with storing data since we are storing and reading data just not within an app but on a server. In short, the main topic to learn is how to transform data from a REST API to local data structures and classes. And be sure to learn how to react if an error occurs and how to send data to a server.

 

Material design, styling and themes

If you are thinking about how to become an Android developer, you have to learn how to create a nice app easily. For beginners, it is best to use material design and the Android Support library, which can help us make an app that will look great even without using a designer. All things considered, for mature apps, we will still use a designer to prepare a UI and UX, but for Android, it will be based on some variant of material design anyway. To summarize, on your path of how to become an Android developer, learning material design is essential.

 

Java or Kotlin and Objective programming

Both Java and Kotlin are excellent languages to start learning. Java has more structure to it. But Kotlin is more modern in style. And both are good choices. Java is the right choice if you want to broaden your skills with back-end development since developers for Java back-end are in very high demand. Kotlin has a shorter implementation; this means you see less code, and more things are done for you. 

We are still teaching Java since it can be used elsewhere as well (Java backend for example), but Kotlin is a great choice as well. No matter what we choose for our language, we will have to learn some basics about it. In our courses, you will learn about Primitive Data types, Strings Control Structures (If, switch…), what are methods and of course all about classes (Inheritance, Interfaces and Abstract Classes). Arrays, sets, maps and other extended data types help us when working with a lot of data. For example, storing a list of people, list of cars, TODO tasks…

Why is it important to dive deep into essentials? Having a good foundation on essentials and Java basics will help you develop more complex applications while keeping them simple and organised at the same time.

Learn how you can start creating apps with Flutter.

Learn more

Debugging

Debugging is an important part of programming since a lot of unpredictable flows will happen in our apps and we need a way of figuring out what went wrong, what was the source of an error and find a code that produced that error. When learning how to become an Android developer this might look like a tough topic, but at the core, it is something that will help you learn more advanced topics with ease since you will know how to track what the application is doing behind the scenes.

 

Making your app ready for Google Play

Equally important to all the skills mentioned above on how to become an android developer is, opening your app to users all around the globe. All things considered, this is one of the primary motivators for building apps in the first place. We must have knowledge about signing our apps, how to upload them to Google Play, what kind of text descriptions we need, screenshots we will show in the store... We need icons, designs and texts. All in all, this knowledge will come in handy a lot. In the first place, it will help you distribute an app to the first test users in the alpha store and then move to a more broad audience with beta and the final step with the public release.

 

How to become an Android developer - Conclusion

This is just a short list of topics we here at CodeBrainer think that you need when you think about how to become an Android developer. And we all want for you to be a great developer and make us proud. We will add advanced topics as we go. Advanced topics will just make you stand out from the crowd and give you comprehensive knowledge about Android. In the long run, what you need is experience, and this means practice, and then more practice.

Please let us know if you want to learn more if something is missing on our list…