Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 3.04 KB

README.md

File metadata and controls

65 lines (50 loc) · 3.04 KB

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