#GrowWithGoogle Android Development Project:
BakingApp
For the fourth project of the Grow With Google Developer Scholarship Program (and, conjointly, Udacity’s Android Development Nanodegree program), students were asked to build and design a recipe app (written in Java) that delivers step-by-step baking lessons to the end user. This app also has a home screen widget for easy access to instructions for the current recipe.
Learning Objectives
Incorporating Exoplayer for Media
This project called for using Exoplayer to display instructional videos parsed from a retrieved JSON object. The most challenging/rewarding learning experience with Exoplayer was figuring out how to handle unexpected inputs from recipe objects (e.g., cooking steps with no instructional videos).
Esspreso and Writing Tests
In prepartion for becoming a professional Android Developer, this project takes a TDD approach and incorporates idling resources to ensure that activities and UI components function as expected.
Creating A Home Screen Widget
Probably the most exciting learning experience of this project was developing a partnering home widget app to provide easy access to a selected recipe's steps.
Master-Detail Flow and Fragments
Students were asked to implement the Master-Detail Design pattern to ensure that apps offer an optimal experience across device types.
Versioning and Dependencies
Target SDK Version: 27 Minimum SDK Version: 15
Libraries:
- com.android.support:appcompat-v7:27.1.1
- com.android.support:recyclerview-v7:27.1.1
- com.android.support:cardview-v7:27.1.1
- com.google.code.gson:gson:2.8.2
- com.squareup.retrofit2:retrofit:2.4.0
- com.squareup.retrofit2:converter-gson:2.4.0
- com.google.android.exoplayer:exoplayer:r2.0.4
- com.android.support:support-annotations:27.1.1
- com.squareup.picasso:picasso:2.5.2
- com.android.support.constraint:constraint-layout:1.1.2
- com.android.support:support-v4:27.1.1
- com.android.support:support-annotations:27.1.1
- com.jakewharton:butterknife:8.8.1
Testing Dependencies:
- com.android.support.test.espresso:espresso-contrib:3.0.2
- com.android.support.test.espresso:espresso-core:3.0.2
- com.android.support.test.espresso:espresso-intents:3.0.2
- com.android.support.test:rules:1.0.2
- com.android.support.test
🏃 1.0.2 - com.android.support:support-annotations:27.1.1
App Repositories:
- JCenter
Android Studio Version: 3.1.2 (Stable Release)