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
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.
✪ 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
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.
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
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
✪ 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
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
✪ Styles and Themes and Drawable
✪ 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
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
✪ 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
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 .
✪ 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.
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
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.
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:
✪ 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.