codeamt / BakingApp

A Companion Baking App for DIY Bakers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#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:

  • Google
  • JCenter

Android Studio Version: 3.1.2 (Stable Release)

About

A Companion Baking App for DIY Bakers.


Languages

Language:Java 100.0%