The first project for Udacity's Android Nanodegree through Egypt FWD program

Overview

The Shoe Store

This project will consist of five screens. You don't have to create a shoe store, you can use any other item as long as you create the following screens. You will be creating:

  1. Login screen: Email and password fields and labels plus create and login buttons
  2. Welcome onboarding screen
  3. Instructions onboarding screen
  4. Shoe Listing screen
  5. Shoe Detail screen for adding a new shoe

Getting Started

Open the starter project in the latest stable version of Android Studio.

Open the starter project in Android Studio

##Steps

  1. Open the starter project in Android Studio ✓

  2. Add the navigation libraries to the app build.gradle file ✓

  3. Add the safe-arg plugin to the main and app build.gradle file ✓

  4. Create a new navigation xml file ✓

  5. Create a new Login destination. ✓

    • Include email and password labels
    • Include email and password fields
    • Create buttons for creating a new login and logging in with an existing account
    • Clicking either button should navigate to the Welcome Screen.
  6. Create a new Welcome screen destination that includes: ✓

    • A new layout
    • At least 2 textviews
    • A navigation button with actions to navigate to the instructions screen
  7. Create a new Instruction destination that includes: ✓

    • A new layout
    • At least 2 textviews
    • A navigation button with actions to navigate to the shoe list screen
  8. Create a class that extends ViewModel ✓

    • Use a LiveData field that returns the list of shoes
  9. Create a new Shoe List destination that includes: ✓

    • A new layout
    • A ScrollView
    • A LinearLayout for Shoe Items
    • A FloatingActionButton with an action to navigate to the shoe detail screen
  10. In MainActivity, setup the nav controller with the toolbar and an AppBarConfiguration. ✓

  11. Create a new Shoe Detail destination that includes:

    • A new layout
    • A TextView label and EditView for the
      • Shoe Name
      • Company
      • Shoe Size
      • Description
    • A Cancel button with an action to navigate back to the shoe list screen
    • A Save button with an action to navigate back to the shoe list screen and add a new Shoe to the Shoe View Model
  12. Make sure you can’t go back to onboarding screens ✓

  13. In the Shoe List screen:

    • Use an Activity level ViewModel to hold a list of Shoes (use by activityViewModels)
    • Observe the shoes variable from the ViewModel
    • Use DataBindingUtil to inflate the shoe_list layout
    • Add a new layout item into the scrollview for each shoe.
You might also like...
Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and  professional therapists.
Therapeutic is a platform to help easily connect patients or generally anyone struggling to get through tough times with motivating content and professional therapists.

Therapeutic Apk - https://github.com/develNerd/Therapeutic/blob/main/androidApp/release/androidApp-release6.apk Therapeutic is a Kotlin Mobile Multipl

Basic-Android-Project - A Basic Android Project with proper structure and all necessary dependencies

Basic-Android-Project A Basic Android Project with proper structure and all nece

sample project that shows you how you can use Ktor to creat a server for real Project.

Ktor-Sample This is a sample project that shows you how you can use Ktor to creat a server for real Project. What is done Save data to database (Get a

A project that helps us generate the test project to test the Gradle plugin.

Ktlint Gradle Provides the function to generate a Gradle project for us to test your Gradle plugin Latest plugin version: [1.0.0] Table of content How

Android Kotlin Fundamentals 01.2: Anatomy of Basic Android Project

Welcome to Android Kotlin Fundamentals 01.2: Anatomy of Basic Android Project 👋 Codelab de android para practicar apps Android con Kotlin 🏠 Homepage

🃏 Multimodular Android MVVM Template I use whenever I start a new Android Project.

Android architecture starter template This template is compatible with the latest stable version of Android Studio. Features Room Database Hilt ViewMo

Example of Android project showing integration with Kotlin and Dagger 2

kotlin-dagger-example This project demonstrate how to setup an Android Project with Kotlin and Dagger 2. It's based on Dagger 2 example ##Known issues

Showcase project of Functional Reactive Programming on Android, using RxJava.

FunctionalAndroidReference FunctionalAndroidReference is a showcase project of Functional Reactive Programming on Android, using RxJava. It's a compan

Owner
Ahmed Gamal
Ahmed Gamal
This is a first kotlin project

SmallPocket This is a first kotlin app, help user to save links easily, and can export to Evernote as weekly. Steps: copy link anywhere open SmallPock

KotlinChina 31 Dec 17, 2022
A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern

A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern. An application that shows a list of ani

Yusuf Ruziev 2 Apr 26, 2022
Showify is a my first simple ✅ Android application 📱 using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor

Showify is a my first simple ✅ Android application ?? using DI, where I learn how to use dagger-hilt, retrofit2, mvvm, livedata, Requestly Interceptor and so much more...

MOHIT GUPTA 1 Jun 21, 2022
Clean Android multi-module offline-first scalable app in 2022. Including Jetpack Compose, MVI, Kotlin coroutines/Flow, Kotlin serialization, Hilt and Room.

Android Kotlin starter project - 2022 edition Android starter project, described precisely in this article. Purpose To show good practices using Kotli

Krzysztof Dąbrowski 176 Jan 3, 2023
A Kotlin-first SDK for Firebase

Firebase Kotlin SDK Built and maintained with ?? by GitLive Real-time code collaboration inside any IDE The Firebase Kotlin SDK is a Kotlin-first SDK

GitLive 522 Jan 3, 2023
The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums.

The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums. When you press on any album it navigates to the second screen which is an album details screen that contains list of the images in an recyclerview grid. Also you have search bar that you can filter within the photos album by the image title.

Mahmoud Ibrahim 4 Jul 10, 2022
intera.kt is a Kotlin library for interacting with the Discord Interactions API through a gateway service or a REST API.

?? Overview ⚠️ WARNING: intera.kt is a work in progress. It is not yet ready for use. You may encounter bugs and other issues, but please report if yo

Pedro Henrique 1 Nov 30, 2021
intera.kt is a Kotlin library for interacting with the Discord Interactions API through a gateway service or a REST API.

?? Overview ⚠️ WARNING: intera.kt is a work in progress. It is not yet ready for use. You may encounter bugs and other issues, but please report if yo

Pedro Henrique 1 Nov 30, 2021
OpenAbyss - Open source script for Powbot that crafts runes through the abyss

OpenAbyss Open source script for Powbot that crafts runes through the abyss Feat

null 3 Feb 9, 2022