CMSC425 mobile App Development

Project 4: A Simple Inventory Using Room Database

Project 4 involves creating a Simple Inventory app, enabling users to insert, delete, and search for items in the inventory. Building the inventory requires the use of Android Jetpack component Room database. The inventory, at the very least, should comprise of a Product ID, Product name and Quantity. You can also choose to include additional items like Cost per Unit, Product Description or Category.

The Product ID shall be automatically generated, either in a random or a sequential manner. The Add button will add a new entry with its Product ID, description and a quantity field to the database. The Delete button shall delete the highlighted item on the list. The Search button allows the user to search for an existing list item when the list is lengthy, and not visible on the screen. The Clear button empties the list. This project relies on ROOM to maintain data persistence. Basically, you should be able to restart the phone and or the application and your existent entry list should still display.

What to Submit:

  1. A .zip file that contains the entire Android Project, zipped in a single .zip file. The .zip file should contain the entire project, so anyone can just open the project, compile, and run it. Additionally, each Kotlin source file should include a comment block at the top containing your name, due date, the project# and a short description of the app functionality. You must also include comments throughout the project explaining the logic.
  2. Complete documentation for the project (a Word or PDF file), that includes the following:
    1. A walk-thru on the program design and functionality
    2. Screenshots of the IDE, the code, and the program running on the AVD.
    3. A display of the IDE, displaying the code window and the AVD running.
    4. A short paragraph on lessons learned from the project.

A simple Sample App display could be as shown below. You can experiment with different background colors, user interfaces and displays.

Sample App Display