- This app showcases responsive UI both for phone and tablet devices.
- Show a list of recipes
- Show a list of steps involved and a video icon and thumbnail if the step has a video
- Show a Card containing the ingredients of the recipe
- Use Exoplayer to show videos of steps involved in a recipe.
- Widget to show recipe ingredients on home screen.
- UI and Intents Test with Espresso
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.
Why this Project?
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.
What Will I Learn?
In this project you will:
- Use MediaPlayer/Exoplayer to display videos.
- Handle error cases in Android.
- Add a widget to your app experience.
- Leverage a third-party library in your app.
- Use Fragments to create a responsive design that works on phones and tablets.
General App Usage
- [-] App should display recipes from provided network resource.
- [-] App should allow navigation between individual recipes and recipe steps.
- [-] App uses RecyclerView and can handle recipe steps that include videos or images.
- [-] App conforms to common standards found in the Android Nanodegree General Project Guidelines.
Components and Libraries
- [-] Application uses Master Detail Flow to display recipe steps and navigation between them.
- [-] Application uses Exoplayer to display videos.
- [-] Application properly initializes and releases video assets when appropriate.
- [-] Application should properly retrieve media assets from the provided network links. It should properly handle network requests.
- [-] Application makes use of Espresso to test aspects of the UI.
- [-] Application sensibly utilizes a third-party library to enhance the app's features. That could be helper library to interface with Content Providers if you choose to store the recipes, a UI binding library to avoid writing findViewById a bunch of times, or something similar.
- [-] Application has a companion homescreen widget.
- [-] Widget displays ingredient list for desired recipe.
Rizky Kharisma (https://github.com/ngengs)
Copyright and License
Copyright 2017 Rizky Kharisma Code released under the MIT License. Copy of LICENSE file can found HERE