Skip to content
/ Yummio Public

Baking App developed for Android Nanodegree.

Notifications You must be signed in to change notification settings

akndmr/Yummio

Repository files navigation

Here, I wrote a step by step guide on how to create Baking App easily.

Project Overview
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.

Libraries
-ExoPlayer
-Retrofit
-Picasso
-Espresso
-ButterKnife

Espresso Testing
scrollTo, click, intended tests. Also there is another test for tablet view.

@Test
public void intentTest(){
    // Let the UI load completely first
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    //Recyclerview scroll to position
    onView(ViewMatchers.withId(R.id.rv_recipes)).perform(RecyclerViewActions.scrollToPosition(4));

    //Perform Recyclerview click on item at position
    onView(withId(R.id.rv_recipes)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));

    //Check if intent (RecipeActivity to RecipeDetailsActivity) has RECIPE_INTENT_EXTRA
    intended(hasExtraWithKey(ConstantsUtil.RECIPE_INTENT_EXTRA));

    //Perform click action on start cooking button
    onView(withId(R.id.btn_start_cooking)).perform(ViewActions.click());

    //Check if intent (RecipeDetailsActivity to CookingActivity) has RECIPE_INTENT_EXTRA
    intended(hasComponent(CookingActivity.class.getName()));
    }

Screenshots

Phone:
Yummio Phone Screenshot Yummio Phone Screenshot Yummio Phone Screenshot

Tablet:
Yummio Tablet Screenshot

Developed by Akın DEMİR for Udacity Android Nanodegree

About

Baking App developed for Android Nanodegree.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages