https://github.com/jharrilim/comp304-assignment2
Developing an interactive GUI application in Android with Kotlin, Room, and RXJava
https://github.com/jharrilim/comp304-assignment2
android kotlin room rxjava sqlite
Last synced: about 2 months ago
JSON representation
Developing an interactive GUI application in Android with Kotlin, Room, and RXJava
- Host: GitHub
- URL: https://github.com/jharrilim/comp304-assignment2
- Owner: jharrilim
- License: gpl-3.0
- Created: 2018-10-05T18:16:20.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-08T04:48:18.000Z (over 7 years ago)
- Last Synced: 2025-10-23T17:41:48.656Z (8 months ago)
- Topics: android, kotlin, room, rxjava, sqlite
- Language: Kotlin
- Homepage:
- Size: 218 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Lab Assignment #2**
Purpose: The purpose of this lab assignment is to:
- Use Android UI controls to develop an interactive mobile application
References: Textbook, ppt slides and Android tutorials (http://developer.android.com/guide/topics/ui/index.html). This material provides the necessary information that you need to complete the exercises.
Be sure to read the following general instructions carefully:
- This assignment must be completed **individually** by all the students.
- You will have to **demonstrate your solution in a scheduled lab session** and upload the solution on eCentennial through the assignment link. See Lab 1 documentation on **naming** your Android Studio modules.
**Exercise 1**
Your client needs an Android application to allow customers to order food using their smart phone. Develop an Android app as described below:
The main screen will display the company logo and a button " **Enter**".
The second screen allows the customer to choose the **food types** :
- Vegetables and legumes/beans
- Fruit
- Grain (cereal) foods
- Lean meats and poultry, fish, eggs, tofu, nuts and seeds and legumes/beans
- Milk, yogurt cheese and/or alternatives
Use **an options Menu control** to implement this selection. Display the proper screen with corresponding **food items** whenever the user selects a food type from the menu. For example, if the user selects Vegetables and legumes/beans food type, the next screen will display different veggies and legumes/beans. Use **check boxes** to show the food items.
The user may use the **menu control** to choose another food type, and so on.
The check-out screen displays the selected food items and corresponding prices. It also prompts the user with **payment option** (cash, credit card, debit card). Use a group of **radio buttons** to select the payment method.
The next screen asks the user to enter credit/debit card information if the user chooses either of these payment methods.
Use _EditText_ controls and other UI elements to allow the user to enter **customer' information:** _full__name_, _credit/debit card number_. The rest of the fields will be **different for each student**. For example, you may create fields for _favorite food type_, _favorite food item_, _favorite app_, etc. Create 2-3 fields named as mentioned above. Provide **validation** for these entries using the proper attributes/methods/constructor for each UI control.
Use _TextView_ objects to create the label components for your UI. Allow the user to use the " **Back**" key to go back to the previous screen.
Display the order information in the last screen when the user finalizes the order.
Use styles and themes to create a nice look and feel of your app. Use drawable objects to display the logo for the company, food types, food items, etc.
**(10% of your final grade)**
**Evaluation:**
| **Activities** :Main activity, Food types menu, Food items activities (one for each food item), check-out activity, final order information activity (all working, proper naming of activities, variables, and methods. Provide comments).Provide an explanation when asked during the demonstration of the app. | 50% |
| --- | --- |
| **Event Handling** (proper event handlers) | 25% |
| **UI friendliness** (proper layout, controls, styles, and themes) | 15% |
| **Declaring resources** in proper resource files | 5% |
| **Innovative features** | 5% |
| **Total** | **100%** |