Skip to content

Commit 797b8a5

Browse files
committed
first commit
0 parents  commit 797b8a5

File tree

89 files changed

+2873
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+2873
-0
lines changed

Diff for: .gitignore

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/caches
5+
/.idea/libraries
6+
/.idea/modules.xml
7+
/.idea/workspace.xml
8+
/.idea/navEditor.xml
9+
/.idea/assetWizardSettings.xml
10+
.DS_Store
11+
/build
12+
/captures
13+
.externalNativeBuild
14+
.cxx

Diff for: .idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/.name

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/codeStyles/Project.xml

+114
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/codeStyles/codeStyleConfig.xml

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/compiler.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/gradle.xml

+23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/jarRepositories.xml

+25
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/misc.xml

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/render.experimental.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: .idea/runConfigurations.xml

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: README.md

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# The Shoe Store
2+
3+
An Android App written in Kotlin to demonstrate the usage of Linear and Constraint Layouts, two-way DataBinding, Activity and Fragment lifecycles, Navigation and Android Lifecycle Libraries. The project uses the MVVM architecure.
4+
5+
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:
6+
7+
1. Login screen: Email and password fields and labels plus create and login buttons
8+
2. Welcome onboarding screen
9+
3. Instructions onboarding screen
10+
4. Shoe Listing screen
11+
5. Shoe Detail screen for adding a new shoe
12+
13+
### Screenshots
14+
15+
![Shoe Store GIF](/screenshots/shoe_store.gif "App Sneak Peek").
16+
17+
## Getting Started
18+
19+
Open the starter project in the latest stable version of Android Studio.
20+
21+
Open the starter project in Android Studio
22+
23+
##Steps
24+
25+
1. Open the starter project in Android Studio
26+
27+
2. Add the navigation libraries to the app build.gradle file
28+
29+
3. Add the safe-arg plugin to the main and app build.gradle file
30+
31+
4. Create a new navigation xml file
32+
33+
5. Create a new Login destination.
34+
35+
* Include email and password labels
36+
37+
- Include email and password fields
38+
- Create buttons for creating a new login and logging in with an existing account
39+
- Clicking either button should navigate to the Welcome Screen.
40+
41+
6. Create a new Welcome screen destination that includes:
42+
43+
* A new layout
44+
* At least 2 textviews
45+
* A navigation button with actions to navigate to the instructions screen
46+
47+
7. Create a new Instruction destination that includes:
48+
49+
* A new layout
50+
* At least 2 textviews
51+
* A navigation button with actions to navigate to the shoe list screen
52+
53+
8. Create a class that extends ViewModel
54+
55+
* Use a LiveData field that returns the list of shoes
56+
57+
9. Create a new Shoe List destination that includes:
58+
59+
* A new layout
60+
* A ScrollView
61+
* A LinearLayout for Shoe Items
62+
* A FloatingActionButton with an action to navigate to the shoe detail screen
63+
64+
10. In MainActivity, setup the nav controller with the toolbar and an AppBarConfiguration.
65+
66+
11. Create a new Shoe Detail destination that includes:
67+
68+
* A new layout
69+
* A TextView label and EditView for the
70+
* Shoe Name
71+
* Company
72+
* Shoe Size
73+
* Description
74+
* A Cancel button with an action to navigate back to the shoe list screen
75+
* A Save button with an action to navigate back to the shoe list screen and add a new Shoe to the Shoe View Model
76+
77+
12. Make sure you can’t go back to onboarding screens
78+
79+
13. In the Shoe List screen:
80+
81+
* Use an Activity level ViewModel to hold a list of Shoes (use by activityViewModels)
82+
* Observe the shoes variable from the ViewModel
83+
* Use DataBindingUtil to inflate the shoe_list layout
84+
* Add a new layout item into the scrollview for each shoe.
85+
86+
## License

Diff for: app/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

Diff for: app/.idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: app/.idea/gradle.xml

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: app/.idea/misc.xml

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: app/.idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: app/.idea/runConfigurations.xml

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)