Google Certification Roadmap: Associate Android Developer
It’s all about making yourself stand out with more and more power

I have been getting a lot of questions from people regarding Google’s Associate Android Developer Certification as the certification syllabus gets updated and being in quarantine time people do have time to take this. So, I thought to write this article describing a roadmap with a complete list of topics. I will be mentioning some of the benefits through this certification and how this can help you get to start with your Android Developer Journey.
Let’s get to the topic list
According to the officials, they had divided the content into five groups.
- App functionality
- User interface
- Data management
- Debugging
- Testing
I will be writing my topics which I think should be more like a priority wise list.
Firstly, this certification is available in both the programming languages: Java and Kotlin, but I strongly recommend to go with Kotlin. Google had already announced Kotlin as an official language for Android. This will also help with job interviews.
✪ Java
✪ Kotlin (recommend) — official language for Android as announced by Google
Secondly, You must get your hands dirty with the IDE you will be working on, that’s Android Studio and major focus is on Android core concepts.
✪ Activity and Fragment Lifecycle

✪ Tasks and Back Stack

✪ Intent — You must know how to pass data between screens.
You will be covering this syllabus completely in AndroidX, so you must have a basic understanding of what AndroidX is and why it exists. I am working on a series of article and one of the articles is all about AndroidX and Android KTX which I will link here in a couple of days.
Then you can take up the UI portion.
✪ Basic View and Widgets like Radio, Pickers or Seek Bars
✪ Constraint Layout — You should have a good knowledge of using Guidelines, Barriers, Chains, Ratios to size, Biasing, ConstraintSet, Transition Manager for keyframe animation

✪ Custom Views — You must know how to extend View
class and working of override onDraw
onMeasure
and onKeyDown
. onDraw
gives you a canvas on which you can draw your custom design. onMeasure
will be doing all work with the width and height of your design.
Till now, you are ready to develop an app with a good layout on multiple screens and moving between the screen and passing data between them. You are ready to develop a simple Quiz app with multiple screens, score and answers on the last screen.

Now, you can develop basic apps with some more Views like RecyclerView
with an understanding of adapter, multiple views inside a list and Paging Library
to load data in pages. You can also add an Overflow Menu
to toolbar and put some Toast
or Snackbar
to display quick pop up on the screen.
✪ Recycler View — This will help you to show a list on the screen. You must have a better understanding of why does this thing call Recycler!! You must also know how does the Adapter work with those overridden methods. onCreateViewHolder()
— this will create your list items view on screenonBindViewHolder()
— helps to bind your data on that view on screengetItemCount()
— this will give the size of the data in your list

✪ Paging Library — This library saves you from a problem of loading tons of data in your list. This majorly works on PagedList
and the adapter
✪ Overflow Menu — Did you ever click on those three dots on the top right of most of the apps? That is the overflow menu, giving your user with extra actions to perform on the app. Create a menu file, attach to activity and you are good to go.
✪ Toast — Have you ever show a quick popup notification on the bottom of the app, that’s the toast. Help your user to present quick info through a popup.
✪ Snackbar — Just like a toast, giving info in style, an info bar coming from the bottom of the app for a few seconds.
Let’s add some Styles
,Theme
and Drawable
to your sample app. Learn more about Accessibility
which makes your app available for blind and visually impaired people. Learn how to make your app multilingual
.
✪ Styles and Themes and Drawable
✪ Accessibility
✪ Locale — Your app should support multiple languages in order to target a larger audience worldwide
You must understand the Navigation Component
which is used to hop in between the screens.
✪ Navigation Component — Its an Android Jetpack component. When learning this, you are going to read words like Navigation Graph, NavHost, NavHostFragment, Destinations, NavController. You can check this codelab

Till here, you can develop a good application.

Let’s increase the level and add more complex topics.
Have a good understanding of ViewModel
and LiveData
. Both these will be playing a crucial role in every other app you develop. Now, you had to understand and make yourself familiar with Coroutines
.
✪ ViewModel — This helps in managing our data while configuration changes (screen orientation changes).
✪ LiveData — This is a container for our data types, making our data observable and this gives us the power to update data on-screen anytime whenever the data updates.
✪ Coroutines — Our Android app runs on the main thread where we see our screen, but how the data is coming from the internet or from the database while we are still using our app? That’s Multithreading. One thread, where we have our app screen running and there are other more which we can create and put work on them like network or database calls or any other heavy computation. Coroutines help us in this whole process and make our work easier.
And learn about Room
and SharedPreferences
where you can store your data. While learning Room
you had to understand the data flow, how the data is coming to screen from the database. What are the different annotations in Room.
While doing this you get to know about a Repository
layer. A layer between your main screen and data layer to connect both and makes data flow easy. Bring Settings
screen to your sample app by learning about App Setting
.
✪ Room
✪ Repository (layer)
✪ Shared Preferences
✪ App Settings
Till here, you had covered 70% of the syllabus.

You must know Jetpack components. Not all these are included in the exam syllabus but some of the topics are. I am writing a complete series on Android Jetpack these days covering all the topics starting from here.

Let’s increase the level more and add much more complex topics.
Show notification
to the user. Schedule some work
for the user on your sample app.
✪ Notifications — You are going to work with NotificationCompat.Builder, NotificationChannel, NotificationManager
. You may have to click on the notification and open a particular screen on the app which is done with Pending Intent. Customize your notification with a good UI.
✪ Job Scheduler — Check things like JobInfo
and scheduler()
method in this and schedule your work to perform it anytime.
✪ Work Manager — Another Android Jetpack component. You are going to learn three main things in this: Worker
— Extend this class and override doWork()
inside which you write your main work which you want to scheduleWorkRequest
— Type of request you want to do. OneTimeWorkRequest
or PeriodicWorkRequest
WorkManager
— Enqueue you're workRequest
using work manager
It’s time to check your sample app. You can debug your app using Debugger
inside Android Studio and put some Logs
in your code to check.
✪ Logcat — Focus on Log.d, Log.v, Log.e
and few more are there
✪ Debugging — Clicking on at the starting of your code line puts a red dot and to run your app you can see a bug icon at the top in android studio. When running an app, execution on code will pause at the point where you put a red dot to debug
At last, you left with testing your app. To test your app, you had to write some test cases. For this, you had to have a better understanding of the topics below:
✪ JUnit
✪ Espresso — This will help you write UI test, where you can test your UI. Running these test will require an Android device or an emulator.
✪ Local Unit Test — No need for a device to run such a test. These type of test are done to check more of logic things in your codebase.
✪ Mockito — It’s a third party library helps you to mock objects while running test, such way you don’t need to have an original class object or any data which may require by your test.
Now, you had covered 100% of your syllabus. Ready to give the exam. Before giving the exam you can develop multiple apps and make your concepts more clear.

Let’s see the certification
The first and most important thing is, this certification is for an Entry Level Android Developer. If you are a student who is looking for an internship/job or someone who is changing career and coming to Android. This certification shows that you can develop and understand the fundamentals of Android and ready to work in the industry to face challenges.
This is an eight hours exam. You will get codebase which you had to complete with all the given tasks. After submitting your exam, if you get cleared then you will have an exit interview to get a better understanding of your knowledge and work you did in your exam. Clearing this makes you a Certified Developer.
If in case you didn’t clear the exam, you can retake the exam after 14 days. Failing this will provide you with the 2 months of duration to learn and after that, you can retake the exam. For the last attempt, you had to wait a year to retake the exam.

All the very best wishes for your certification exam. You can check more about this certification here on the official website.
Thanks for reading! If you enjoyed this story, please click the 👏 button and share it to help others find it! Feel free to leave a comment 💬 below.
Have feedback? Let’s be friends -> Twitter, Instagram, or my profile