ITECH3106: Android Development - Food Ordering App - IT/Computer Science Assignment Help

Download Solution Order New Solution
Assignment Task

Assignment 1 – Food Ordering App

Android Development

This assignment requires you to develop an Android application which uses several Activities that are related through the use of Intents. To write the application you will need to use the Android Studio Integrated Development Environment (IDE).

Your application must perform all tasks listed in this document and be capable of running on any Android device with a minimum API version of 23 (i.e. Android 6.0 "Marshmallow") up to the latest version of Android.

Your application should be created to display correctly on an emulated Google Pixel 2 device (1080x1920 pixels in portrait orientation) - however, by using a ConstraintLayout the application should also be able to display correctly on any Android device with any sized screen and resolution.

Do not add any additional activities or features that are not outlined by the specifications to follow. You will not be marked higher for additional functionality, instead you may be penalized for not matching the program specifications!

Plagiarism Policy

The Federation University policy on plagiarism can be found at the following location: http://policy.federation.edu.au/university/student_plagiarism/ch01.php

I highly recommend that you familiarise yourself with what is and what is not considered plagiarism, but I'll summarise the key aspects below:

Do NOT share code with fellow students. I mean it. These are individual assignments, not group projects. If the same code is found in multiple students’ projects, you’ll be called in for a chat and risk getting zero for the assignment and having a plagiarism flag put on your record.

You may, and are in fact encouraged to, discuss the project with your fellow students. The goal being that you understand how to create good, high-quality Android applications – and that understanding then flows into the exams where you'll be asked questions on Android application development. Just don't share projects/code – code it yourself, learn from your mistakes, and become a great developer.

Application Specification
Project Settings
Your Android application should have the following settings:

Minimum SDK: API 23
Target / Compilation SDK: API 28
Project/Application Name: FedUni Food Ordering <YOUR_STUDENT_ID_NUMBER> For example, FedUni Food Ordering 12345678
Company URL: au.edu.federation.itech3107.fedunifoodordering<YOUR_STUDENT_ID> For example, this would make the package name: au.edu.federation.itech3107.fedunifoodordering12345678

Application Description

Your assignment is to write an Android application that allows users to place orders for various types of food (e.g. Burger, Pizza, or Ice Cream Sundae). Each food item can be customised by adding various toppings (e.g. a Pizza could have anchovies, mushrooms, garlic, etc.). Each type of food has a different base price and a price per topping that should be calculated in the app before the user submits the order. The user also has the option to buy a Pizza or Burger in a meal (small or large), but the Ice Cream Sundae is not offered in a meal. Once the user has placed their order, a notification should be displayed (after some time has elapsed) to let the user know that their meal is ready. The user can also view their recent history of orders and reorder the same item again.

Activity 1 – The Main Activity

When the application first launches the MainActivity, it will display an image and 4 buttons that provide the following options:

Burger, Pizza, and Ice Cream Sundae, which on click launch an intent to another Activity (see Activity 2) where the user can customise their order by adding extras toppings.

History, which on click launches an intent to another Activity (see Activity 4) where the user can view a list of recent orders and reorder a food item again.

The layout of the activity should look very similar to Figure 1, though you are free to choose your own image and colour scheme:

Figure1.JPG

Activity 2 – The MakeOrderActivity
The MakeOrderActivity displays an ImageView, TextView, ScrollView containing several CheckBox elements, and one Button element, as per Figure 2:

Figure2.JPG

Depending on which food type the user selects from the MainActivity, the MakeOrderActivity should load dynamically. Specifically, the following elements should change:

•The title of the screen should change to show food type and price;
• The image displayed should represent the food type;
• The price per extra item should be updated in the TextView;
• The list of extras displayed in the CheckBoxes should change to be specific to the food type. 
As long as the requirements are met, you are free to choose the colour scheme, price, and extra choices available for each type of food.

When the Next button at the bottom of the screen is clicked, the app should progress to the next screen (see Activity 3).

This screen should also have a menu with two choices available from the ActionBar, as shown in Figure 3. The Select All option should tick all of the CheckBoxes, whereas Clear All should untick all of the CheckBoxes.

Figure3.JPG

Activity 3 – The ConfirmOrderActivity

The ConfirmOrderActivity should display an ImageView, several TextViews, a RadioGroup, and two Button elements (see Figure).

The TextViews should display the user’s choices from the previous screen (Activity 2), including the food type and any extras that have been selected.

The first button should display within it the total cost of the order (i.e. the price of the food type selected plus the total cost of the extras selected by the user.

The RadioGroup presents the user with the option to upgrade their order into a Large Meal ($4.99 extra), a Small Meal ($2.49 extra), or No Meal (the default choice). As this selection changes, the total price should update too.

Figure4.JPG

The RadioGroup should only appear for Burger or Pizza – it is not possible to order an Ice Cream Sundae in a meal (see Figure 5).

Figure5.JPG

When the Place Order button is clicked, the details of the order should be saved somehow (it doesn’t need to persist once the app is closed, just while the app is running), a notification should be scheduled to go off when the food is “ready”, and the user should be navigated to Activity 1. You are expected to do some independent research to find out how to delay a task in Android. If you use code from another source, please reference this using comments in your code.

For this assignment, a burger might take 10 seconds, a Pizza 20 seconds, and an Ice Cream Sundae 5 seconds. The notification should display an icon, the type of food that is ready, and the list of extras that the user selected. Multiple notifications should be allowed to appear if the user orders more food (that is, a new notification should not overwrite an old one). Further, if the user has selected more extras than can fit in one line of text, the notification should be expandable (see Figure 6). When the notification is clicked, it should open the MainActivity of the app.

Figure5.JPG

When the Cancel button is clicked, the user should be taken back to Activity 1.

Activity 4 - The OrderHistoryActivity

The OrderHistoryActivity should display a series of RadioButtons that display the details of all food ordered since the app was last opened, and a single button (see Figure 6).

At a minimum, the label of each radio button should include the type of food that was ordered, and any extras that were added to that food item. By default, none of the radio buttons should be selected when the user first enters this screen.

The button at the bottom of this screen should be disabled until one of the radio buttons is selected, as displayed in Figure 6.

If there are no recent orders to be displayed on this screen, it should display a message to let the user know that there are no recent orders. The button should remain disabled.

Figure6.JPG

Once the user has selected a recent order and clicked on the “Reorder Selected” button, the MakeOrderActivity (see Activity 2) should open with the appropriate details of the order filled in. This includes the correct food type (e.g. Burger, Pizza, or Ice Cream Sundae) and any extras checked in the group of CheckBoxes (see Figure 7).

Figure7.JPG

Finally, the OrderHistoryActivity should also include a menu with two options: Sort by Newest, and Sort by Oldest (see Figure 8). When either option is selected, the list of RadioButtons should be reversed to display the most recent orders or the oldest orders first, respectively.

Figure8.JPG

Additional Classes / Requirements

You may be required to include additional classes in your application to achieve the requirements in an elegant manner – in fact we would expect to see some additional classes based on the examples we have provided in class. Thus, there is no limit to the number of additional classes you can include in your app. That said, you may be marked down for including unnecessary features and/or code that do not achieve the requirements listed in this document! You should also follow the best practices we have discussed in this class (and previous classes such as ITECH2306 Agile Coding), such as not hardcoding strings into layout files.

Submission and marking process

Create a single zip file containing the Android Studio project of your Food Ordering application and upload it to the upload location on Moodle for Assignment 1 of this course. You can easily export your project as a zip by selecting File > Export to Zip File…. There is no written component to this assessment besides the code in the completed project.

Assignments will be marked on the basis of fulfilment of the requirements as specified in the marking guide (which can be found on the last page of this document). You may be required to attend an interview with your marker to discuss certain aspects of your assignment before receiving feedback.

In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):

• Incomplete functionality,

• Incomplete submissions (e.g. missing files)

Refer to the course description for details of the policy on marking of late assignments.

Any applications for extensions or special consideration should be made as early as possible, and in all cases prior to the deadline for submission.

ITECH3106 Assignment 1 Marking Criteria

Student Name:
Student ID:

MainActivity.JPG

Button.JPG

ConfirmOrderActivity.JPG

Order.JPG

Recent Order.JPG

Marking.JPG

 

This IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.