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.

  1. App functionality
  2. User interface
  3. Data management
  4. Debugging
  5. 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

source: https://developer.android.com/

Tasks and Back Stack

source: https://developer.android.com

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

chain styles

Custom Views — You must know how to extend View class and working of override onDraw onMeasure and onKeyDown .
onDrawgives 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.

ready to play as a beginner

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 screen
onBindViewHolder() — helps to bind your data on that view on screen
getItemCount() — this will give the size of the data in your list

source: Udacity

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 Drawableto 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

source: Udacity

Till here, you can develop a good application.

50% achieved

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.

70% achieved

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 schedule
WorkRequest — 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.

100% achieved: You are Super Saiyan now

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

Budding Android Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store