Skip to content

sooshin/android-developer-nanodegree-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Udacity Android Developer Nanodegree Projects

Udacity built this Nanodegree program in partnership with Google for students with intermediate programming skills who want to become professional Android developers.

Capstone Project - Candy Pod

Candy Pod is a podcast player for podcast lovers who want to listen to podcasts for free. Discover popular podcasts and listen to your favorite podcasts anywhere, anytime. It is easy to use and you can subscribe to the podcast in one click.

  • Built a media app architecture that allows background playback of audio
  • Incorporated ExoPlayer to provide media streaming, downloading and playback notification
  • Used transitions and animation effectively
  • Added free and paid flavors

View Source Code | View on YouTube

1_main4_subscribe5_play

Popular Movies app gives you information about movies from the TMDb. See what movies are the most popular and high rated. You can also discover Now Playing or Upcoming movies. Popular Movies app will help you decide what to watch.

  • Fetched movie data from the TMDb API using Retrofit
  • Integrated the Paging library, LiveData, ViewModel, DataBinding, Room, MVVM architecture and Repository pattern
  • Created a local database using Room that allows users to store the information of their favorite movies

View Source Code | View on YouTube | Get it on Google Play

google-play-badge

popular-movies-mainpopular-movies-detailpopular-movies-info

You will productionize an app, taking it from a functional state to a production-ready state. This will involve finding and handling error cases, adding accessibility features, allowing for localization, adding a widget, and adding a library.

As a working Android developer, you often have to create and implement apps where you are responsible for designing and planning the steps you need to take to create a production-ready app. Unlike Popular Movies where we gave you an implementation guide, it will be up to you to figure things out for the Baking App.

  • Used Fragments to support responsive design that works on phones and tablets
  • Implemented Espresso to test aspects of the UI
  • Used a database that allows users to create their own shopping list to make sure that they get the right ingredients

View Source Code | View on YouTube

main    ingredients    step_6   

Build It Bigger - Joke Telling App

Created a Joke Telling App with multiple flavors that uses multiple libraries and Google Cloud Endpoints. This app consists of four modules. A Java library that provides jokes, a Google Cloud Endpoints (GCE) project that serves those jokes, an Android Library containing an activity for displaying jokes, and an Android app that fetches jokes from the GCE module and passes them to the Android Library for display.

  • Built app with a free ad-supported version and a paid version
  • Retrieved jokes from Google Cloud Endpoints module and displayed them via an Activity from the Android Library.
  • Made the free app variant display interstitial ads

View Source Code | View on YouTube

build-it-bigger

joke_01_mainjoke_02_adjoke_05_family

Make Your App Material - XYZ Reader

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.

This project gives you an opportunity to improve an app’s design, a vital skill for building apps users will love. It also replicates a common developer task of updating and changing an app's design as new standards are released.

  • Applied Material Design guidelines to a mobile application
  • Implemented the Shared Element Transition in the case using a ViewPager and Fragments
  • Customized the animation using PageTransformer. Showed a Snackbar with a button that allows to perform an action
  • Created a custom ThreeTwoImageView to make all the images have the same proportion

View Source Code | View on YouTube

xyz_reader_main

Sandwich Club app shows the details of each sandwich once it is selected.

Building a layout and populating its fields from data received as JSON is a common task for Android Developers. Although JSON parsing is usually done using libraries, writing the JSON parsing for this project will help you to better understand how it is processed.

  • Practiced JSON parsing to a model object
  • Designed an activity layout
  • Populated all fields in the layout accordingly

View Source Code

License

Apache, see the LICENSE file.

Copyright 2019 Soojeong Shin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Releases

No releases published

Packages

No packages published