This App has been developed as part of the Udacity Android Kotlin Developer Nanodegree Course for the Exercise Project "Shoe Store app". In this project I applyed my skills in building layouts and navigation files by building a Shoe Store app. The app is building with 6 screens:
- Login
- Regiester
- Welcome
- Instruction
- Shoe list
- Shoe detail
Login | Register | Welcome screen |
---|---|---|
Instruction Screen | List | Add |
Search by name | Menu | deleteAll |
-
Correctly use ViewModel and LiveData lifecycle classes and Room Database in an Android app -
- The Detail screen needs to add the new item to the view model. The listing screen should be listening to that model and show the new item.
-
Correctly implement Single Activity architecture
- There should only be one activity: MainActivity. Each screen should be a fragment.
-
Write error-free code
- The project's code is error-free.
-
Create layouts using the correct ViewGroups and Views in an Android app.
- The project correctly implements LinearLayout and ConstraintLayout to match the complexity of the layout of a page. Using code comments, the project justifies the use of ConstraintLayout or LinearLayout
-
Apply Databinding in Layouts to show the correct data to users in multiple layouts.
- All layouts will use the tag to support Databinding.
- Detail screen uses the element.
- Databinding is set to the appropriate setting in the app build.gradle file
-
Correctly use the and elements within the layout.
- The detail layout contains an element with the name of the variable and the class associated with it.
- All EditViews correctly refer to created class variable
- The detail layout contains an element with the name of the variable and the class associated with it.
-
Create a multi-screened Android Application using Android widgets.
- The app contains at least 5 screens.
- The app contains correctly laid-out labels and edit fields for each screen.
- The app contains button positioned below the text fields
-
List screen uses RecuclerView for showing a list of items Creates a layout for the item.
- A new item layout is created for each item
- New item layout is added to LinearLayout
- Layout is updated with items added on the detail screen
-
Create a navigation file that correctly takes a user from one page to the next in an Android app
- The app needs to traverse the following screens in the correct order:
- Login
- Regiester
- Welcome
- Instructions screen
- Listing screen
- Detail screens The app should also be able to navigate back via the back arrow or the back button.
- A navigation file has been created that defines a start destination.
- All destinations have a fragment, label and action associated with it
- The app needs to traverse the following screens in the correct order:
-
Use Databinding for click listeners on a navigation screen in an Android app.
- All code will use the DataBindingUtil class to inflate the layout.
- All click listeners are connected via the DataBindingUtil class and uses the NavController to navigate to the next screen.
-
Create a Logout menu to return to the Login screen.
- This menu will appear only on the Shoe Listing screen and will return the user to the login screen