My ALC Experience | A Guide to passing the Google Associate Android Developer Exam
Earlier this year I heard about the opportunity to become a better developer through a scholarship sponsored by Andela and supported by Google and Udacity. Quite a number of articles have been written by participants in the ALC community. Please check out their stories on medium with the tags ‘ALC17’.
If you are looking to find your feet in Android development then you should start preparing as ALC 2.0 has been announced and will start soon. The program gave me closure and a better understanding of who I am. I can guarantee that for you too if you give it your ultimate best.
This would serve as a guide to others looking to enroll in the next phase of this program. What do you need to be doing now? What should you expect?
I’ve included resources to help out at each stage in the program. I also add a link to my project in each stage, please feel free to star it.
Qualifying (Stage 0)
If you just completed the ALC beginners stage and want to start prepping for the next stage, you should start with the following courses on udacity. They are free
* Udacity Android Basics: Networking
* Udacity Android Basics: Data Storage
* Udacity Android Basics: Multiscreen Apps
To qualify for the Intermediate track, there was an assessment phase, the challenge was to build an App that displays a list of Java Developers in Lagos using the GitHub API, the app includes a detail screen that shows information of each developer. You can add a tablet layout to show the list and the details view in a Master/Detail pattern. Consider using a library like Volley or Retrofit to make network calls.
Learn Git and Github. Refer this link for tutorials and here
Udacity GitHub & Collaboration
Learn about Github API
Learn how to use Volley for network calls here and here
Use RecyclerView for displaying items in a list.
Popular Movies (Stage 1)
Our first project was to build an App that allows users to discover the most popular and top rated movies. The app displays a grid arrangement of movie posters and transitions to a detail screen that shows additional information about a movie when its poster is clicked. We were given certain specifications that must be met to pass this stage. The project was based on the first lessons in the Udacity AAD course.
Most of us didn’t have issues here as almost all intermediate Android developers out there have built something to fetches data from an API and display it in a list. So I’d say this task was a cake walk for most of us.
This is 2017, no one should be plucking data from JSON, use GSON to convert JSON to Java Objects(POJO). I have added links to helpful resources below.
Learn about RecyclerView in Android. Refer to this link for a tutorial.
Learn RecyclerView GridLayout here
Learn how to use Retrofit for network call here, here and finally here
Learn how to use Gson with Retrofit here and here.
Consider using Glide or Picasso for image loading.
Popular Movies (Stage 2)
Our next task is to add more functionality to the app. We’ll allow users to play trailers and view reviews of a selected movie. Also, we’ll allow users to mark a movie as favorite. Movies marked as a favorite would be available offline. Lastly, the app will be optimized for tablet.
Learn about Shared Preferences. Refer this link for a tutorial.
Learn SQLite for offline persistence here.
Learn about Content Providers here.
Link to my popular movies project
Supporting Different Screen Sizes | Android Developers and here
Baking App(Stage 3)
Our third and final project is to build an App to view baking recipe videos.
Baking App was added to the curriculum during the ALC program and Udacity provided data to be used in the App. Each baking recipe includes a list of ingredients, the steps involved and a baker explains each step in a video. Finally, we add a home screen widget and verify the user interface by testing the UI with espresso.
Learn about ExoPlayer here
MediaStreaming with ExoPlayer Codelab
Learn about widget here and here
Learn about Espresso testing here and here
Link to my baking app project
Taking the Google Associate Android Developer Exam
The exam is actually very easy. Any intermediate android developer should be able to complete it in 12 hrs though you have up to 48 hours to make your submission. If you have completed the previous projects then the exam should be easy to complete.
After you have submitted the exam and has been graded. You’ll schedule an exit interview, you’ll be asked trivial questions to verify if completed the exam yourself.
What do you need to know to take the exam?
* Basic understanding of Android app components and their lifecycles.
* Android UI and UX, including basic understanding of Custom views
* Persistent Data storage on Android using SQLite, File, and Preferences.
* Understanding Widgets and Notifications on Android.
* Testing android UI with Espresso.
Experience as a Facilitator in my ALC community
I volunteered at the beginning of the program to reach out and help my colleagues just starting out with android development here in Osun.
At first, I asked myself what am i doing? What do I have to contribute or share? I’m not an expert?
But remembering how I struggled when I started learning, I figure out that saying I know nothing now is lazy and not true, also I think if I can learn how to code then I can help someone learn too if I want to.
I think until you volunteer to help someone learn, you don’t know what you know that other people don’t know and what is of value to others. Also, no one knows everything, there is always something you can share or learn from someone.
So I got excited about it, I saw this as an opportunity to meet people and share the little experience I have so far developing for android.
During Meetup 2.0, I had my first presentation and it was cool, it wasn’t bad as I thought I would be. It was quite impressive that I could have an impact on someone’s learning. It was amazing helping these people that were in my shoes just over a year ago.
I found out I’m in the best position to help them as I consider myself not too far from them on the scale, and I could actually relate to any difficulty they might be facing.
Career Development
The program has been a huge source of knowledge, improving how I relate to other people, self-confidence, public speaking and most of all, learning from a huge community of people with the same niche has been invaluable(this includes having a lot of other people’s code to read and learn from).
Helping others gave me a deeper understanding of the topic. I have gone to speak at other events and will do that more in the nearest future.
Now I’m a Google Certified Associate Android Developer.
Additional Resources
* Learn about screen navigations, task and back stack here
* Learn about Fragment in Android. Refer this link for the tutorial.
* Learn about basic threading. Refer this link for the tutorial.
* Learn about Orientation Changes on Android. Refer this link for a tutorial.
* Learn about the Android Activity LifeCycle. Refer this link for a tutorial.
* Learn about MVP architecture for android app here here here
* Learn about Gradle for Android and Java
* Learn about 3rd party libraries. Refer this link for the tutorial.
https://www.androidhive.info/2016/01/android-working-with-recycler-view/
https://inducesmile.com/android/android-sqlite-database-example-tutorial/
Check out Copula on Google Playstore. Copula lets you play and download your nearby friend’s songs and videos directly from your own device absolutely without internet data.
Shout out to my guys in team Treehouse. It was great learning with you guys.
Also, you should check out Moyinoluwa Adeyemi interesting experience with the Nanodegree here.
Please feel free to comment if you have other resources you want to share that I didn’t mention above.
Thanks for reading this article. Please click ❤ below to recommend this article if you found it interesting and helpful.
And YES I want to be your friend too on Twitter and Github.