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()));
}
Developed by Akın DEMİR for Udacity Android Nanodegree