Project 3: List Manager

Due: Monday, October 1st, 2018

Specification

Write a list manager. It can be for shopping, to-do items, contacts, Magic cards, or just about anything else you can think of.

Your list manager should display list items in an appropriate view. It should also include a detail item view. The detail view should show at least three pieces of information about the list item. The user should be able to add items to the list and delete items from the list. For add, the user should be able to enter or select the detail information for the new item. For delete, the user should be able to specify the item to be deleted.

Define a custom class for list items. For this assignment, create an array or list of items when the application starts up and then add or delete items from that array. In a later assignment you will work with an SQLite database for persistent storage.

Initialize the list with enough items to demonstrate that scrolling works. You should not be able to see all of the initial list items without scrolling.

For iOS, use a Table view to display the list items. Chapters 10, 11, and 14 in our iOS textbook (iOS Programming: The Big Nerd Ranch Guide) have information about using table views and navigation controllers in iOS. You might find that Chapter 12 (customizing table cells) and Chapter 13 (stack view) are also useful.

There are links to some tutorials about segues and table views, including an iOS code example, here.

For Android, use a ListView or a RecyclerView to display the list items. Chapter 8 of our Android textbook (Android Programming: The Big Nerd Ranch Guide) has information about RecyclerViews. Pages 212 and 213 tell how to tell a RecyclerView to reload its list. Look for the call to notifyDataSetChanged

Also for Android, the detail view should be an activity and your app should have at least two activities. You can use fragments if you'd like to, but you don't have to.

There are some notes about displaying lists in Android, including a short code example, here.

Be sure to use good memory management techniques and follow the programming and user interface conventions and guidelines discussed in class, our textbooks, and in Apple and Android documentation.

Turn in

Please put your initials in the name of the app and in your package to help with grading.

Put your complete project directory, including source files and resource files in a zip or tar file. For Android, make sure that your submission includes a .apk file, which is the file that I will install on the emulator to run your program. Turn in your zip (or tar) file using the Submit link on the class web page.

Points
25 List display with appropriate view
10 Custom class for list items
10 Tap list item to display detail screen
15 Detail screen
15 Add item
15 Delete item
10 Initialized with enough items to demonstrate that scrolling works.
100 TOTAL