An open API service indexing awesome lists of open source software.

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

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%** |