What have I learned from Udacity Android Developer Nanodegree program

The Android journey of mine has started 3 years ago by a need for mobile in my very first entrepreneurship trial. This year I took a huge step with Udacity Android Developer Nanodegree program program running with the participation of Google.

After 3 months GoogleDeveloperChallengeScholarship for Android track, I got the scholarship (do not miss the scholarship application). I have been trained for 9 months by a great community and mentors. All thanks go to Udacity, my Nanodegree code reviewers and mentors, Nanodegree colleagues.

There were a lot of detailed and structured lessons, code examples and assignment projects. I’m going to list the learnings from assignment projects in a nutshell. Surely, there is much more than the list. But at least, it could give you an idea about the Nanodegree program.

Project 1: Sandwich Club

  • Design the layout for the detail activity so the different elements display in a sensible way. Implement the JSON parsing in JsonUtils so it produces a Sandwich Object that can be used to populate the UI that you designed.
  • JSON data parsing without 3rd party libraries
  • Designing an activity layout and populating JSON to the layout properly

Project 2–3: Popular Movies parts 1 and 2

  • In this project, you will build an app to help users discover popular and recent movies. You will build a clean UI, sync to a server, and present information to the user.
  • Fetching a data from a remote host via its REST interface (theMovieDB)
  • Saving and restoring Instance state of an Activity
  • Saving data by using SQLite
  • Exposing the saved data via ContentProvider
  • HTTP methods with OkHttp
  • Working with URL, URI, URN
  • Asynchronous calls
  • Working with RecyclerView
  • State pattern
  • Template pattern
  • Observer pattern
  • Factory pattern

Project 4: Baking App

  • You will create an app that will allow a user to select a recipe and see video-guided steps for how to complete it.
  • Use MediaPlayer/Exoplayer to display videos.
  • Homescreen widget
  • Fragments and Master Detail Flow
  • Espresso to test aspects of the UI.
  • HTTP requests with RETROFIT
  • GLIDE to show images
  • State persistence and responsive design

Project 5: Build It Bigger

  • In this project, you will use Gradle to build a joke-telling app, factoring functionality into libraries and flavors to keep the build simple. You’ll also configure a Google Cloud Endpoints development server to supply the jokes.
  • Using a Java library
  • Using an Android library
  • Using a Google Cloud Endpoint solution
  • Product flavors (free and paid flavors for this project)
  • Writing a unit test

Project 6: Make Your App Material

  • In this project, you will redesign an app to follow the Material Design guidelines and translate a set of static design mocks to a living and breathing app.
  • Understand the fundamentals of Android design.
  • Apply Material Design guidelines to an mobile application.
  • Separate an interface into surfaces.
  • Effectively use transitions and motion.
  • Design Support library elements such as FloatingActionButton, AppBarLayout, SnackBar, CoordinatorLayout
  • Customizing the Styles and Themes of app

Project 7–8: Capstone stages 1 and 2

  • In the Capstone project, you will build an app of your own design in two stages.
  • In Stage 1, you will design and plan the app, using a template that we provide in the “Instructions” node.
  • In Stage 2, you will demonstrate the skills you’ve learned in your Nanodegree journey, and apply them to creating a unique app experience of your own.
  • App includes support for accessibility. That includes content descriptions, navigation using a D-pad, and, if applicable, non-audio versions of audio cues.
  • App keeps all strings in a strings.xml file and enables RTL layout switching on all layouts.
  • App provides a widget to provide relevant information to the user on the home screen.
  • Using Admob for Ad service
  • Using Firebase for Analytics service
  • Room Persistent library for SQLite abstraction
  • ButterKnife for UI binding
  • LiveData
  • RxAndroid

Software Engineer, Growth & Gamification Enthusiast

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