{"id":23740049,"url":"https://github.com/jharrilim/comp304-assignment2","last_synced_at":"2026-04-20T10:33:33.134Z","repository":{"id":98593201,"uuid":"151761104","full_name":"jharrilim/comp304-assignment2","owner":"jharrilim","description":"Developing an interactive GUI application in Android with Kotlin, Room, and RXJava","archived":false,"fork":false,"pushed_at":"2018-10-08T04:48:18.000Z","size":223,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T17:41:48.656Z","etag":null,"topics":["android","kotlin","room","rxjava","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jharrilim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-05T18:16:20.000Z","updated_at":"2019-08-22T19:12:16.000Z","dependencies_parsed_at":"2023-03-13T15:58:30.424Z","dependency_job_id":null,"html_url":"https://github.com/jharrilim/comp304-assignment2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jharrilim/comp304-assignment2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jharrilim%2Fcomp304-assignment2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jharrilim%2Fcomp304-assignment2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jharrilim%2Fcomp304-assignment2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jharrilim%2Fcomp304-assignment2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jharrilim","download_url":"https://codeload.github.com/jharrilim/comp304-assignment2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jharrilim%2Fcomp304-assignment2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32043087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T10:33:29.490Z","status":"ssl_error","status_checked_at":"2026-04-20T10:32:30.107Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","kotlin","room","rxjava","sqlite"],"created_at":"2024-12-31T09:41:50.772Z","updated_at":"2026-04-20T10:33:33.107Z","avatar_url":"https://github.com/jharrilim.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Lab Assignment #2**\n\nPurpose:        The purpose of this lab assignment is to:\n\n- Use Android UI controls to develop an interactive mobile application\n\nReferences:        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.\n\nBe sure to read the following general instructions carefully:\n\n- This assignment must be completed **individually** by all the students.\n\n- 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.\n\n**Exercise 1**\n\nYour client needs an Android application to allow customers to order food using their smart phone. Develop an Android app as described below:\n\nThe main screen will display the company logo and a button \u0026quot; **Enter**\u0026quot;.\n\nThe second screen allows the customer to choose the **food types** :\n\n- Vegetables and legumes/beans\n- Fruit\n- Grain (cereal) foods\n- Lean meats and poultry, fish, eggs, tofu, nuts and seeds and legumes/beans\n- Milk, yogurt cheese and/or alternatives\n\nUse **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.\n\nThe user may use the **menu control** to choose another food type, and so on.\n\nThe 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.\n\nThe next screen asks the user to enter credit/debit card information if the user chooses either of these payment methods.\n\nUse _EditText_ controls and other UI elements to allow the user to enter **customer\u0026#39; 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.\n\nUse _TextView_ objects to create the label components for your UI. Allow the user to use the \u0026quot; **Back**\u0026quot; key to go back to the previous screen.\n\nDisplay the order information in the last screen when the user finalizes the order.\n\nUse 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.\n\n\n\n**(10% of your final grade)**\n\n**Evaluation:**\n\n| **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% |\n| --- | --- |\n| **Event Handling** (proper event handlers) | 25% |\n| **UI friendliness** (proper layout, controls, styles, and themes) | 15% |\n| **Declaring resources** in proper resource files | 5% |\n| **Innovative features** | 5% |\n| **Total** | **100%** |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjharrilim%2Fcomp304-assignment2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjharrilim%2Fcomp304-assignment2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjharrilim%2Fcomp304-assignment2/lists"}