Assignment Details
For this assignment, you are required to create a simple shopping aid as an Android App. There should be a list of shopping lists and an inventory of the existing groceries. The app has a home screen that includes one or more decorative images and options (e.g. button, menu items, tabs etc.). The App has four main functions aside from the home screen:
- Allow user to view and manipulate grocery inventory.
- Allow user to view and manipulate shopping list items.
- Allow user to delete shopping list and/or grocery items.
- Allow user to view and manipulate images that are associated with grocery items.
For the purposes of this assignment the details of the items in the grocery inventory and shopping list should be stored in some kind of "database". For high marks this should be an SQLite database. For a basic pass, some kind of array, list or file structure is acceptable. Where the word database appears below it can refer to any of these types of structures, however refer to the marking guide to see what will attract high marks.
Please note that the application must have at least the elements described in this assignment specifications. You can implement features in higher levels (eg credit, distinction or high distinction) to gain marks even you skip some features in lower (eg pass) levels. The provided simple screenshots are for your reference only, you are encouraged to design your own look and feel for your application.
In particular, the App should
Pass level
1. For Grocery inventory:
Provide the main interface and corresponding actions where user can select an option from buttons or other controls including:
- Add a new grocery record: The grocery information includes Id (unique number for each item), name, quantity and image (for pass level, image is NOT required, image field can be empty or ignored).
- Edit a grocery record: the user can select an item from the list. The program will display all details of the item in the corresponding fields where the information can be edited. The page should also include an option to delete the current record in addition to the edit option.
- View grocery records as a list see image.
2. For Shopping list items:
Provide the main interface and implemented actions where the user can select an option from the buttons/menus for manipulating the shopping list including:
- Add a new shopping list item. The shopping list information includes Id (unique number for each shopping list), shop name, shop location (shop address), date (shopping date), list of grocery items. Please note that user should be able to choose one or more grocery items from a list of grocery items. You can use checkboxes or background colours to indicate selected items. This list can be simply hardcoded (pass or credit level) or taken from the "database" of grocery items as described above (distinction level or above). If you use hardcoded list of groceries, make sure you have name and quantity for each item. There are at least three grocery items in the hardcoded grocery list.
- View the shopping list items. User is able to view the list of shopping list items.
- Edit a shopping list item. When the user clicks on an item in the list of shopping lists, the program will display full detail information of the selected shopping list in the corresponding fields where they can be changed. For the list of grocery items, the user will choose again the grocery items from the list as in Add a new item function. The page should also include an option to delete the current record in addition to the edit option. see image.
3. Other functionalities should be included in the pass level:
- Be able to return to the home page or the previous page.
- Provide an acceptable quality user interface - Are the screens easy to use? Are they laid out neatly? Do they look good?
- For a pass grade it is not necessary to store data in an SQLite database.
Credit level
Include all functions of the pass level, plus
- Store data in a local SQLite database, and implement INSERT, UPDATE, SELECT and DELETE on the database
- Delete multiple items: From "View Grocery Inventory" and/or View Shopping List pages, user is able to delete one or more grocery items and/or shoppling lists from the lists. You may use checkboxes or background colours to indicate selected items to be removed from the list.
- Good documentation, comments, naming, Object Oriented (using Classes).
Distinction level
Include all functions of the credit level, plus
- When adding/editing a shopping list item, the list of grocery items are NOT hardcoded but are queried from the grocery item database (SQLite database).
- View the shopping list items in two categories "Past" and Current by checking the shopping dates of the shopping lists.