This was the worst assignment ever. I’m tempted to leave my post mortem at that, but I really would like the credit for this. I don’t know if I went about everything in exactly the wrong way or if I was just too ambitious, but this project took at least as long as the last two combined (and that’s probably being generous).
My app is a comic book inventory tracker. It allows the user to add, modify, search, and delete comics with various attributes (title, publisher, image, grade, purchase price, and a few others). I am an amateur comic book collector and never have a good grasp of which comics I have and in what conditions, so I thought this would be useful. The user interface is pretty bad, but I did make two layouts – one for phones and one for tablets. When entering the comic, I force the phone layout into portrait (the only way it looked good). The tablet I forced into landscape when adding the comic to take advantage of the screen real estate.
To edit or delete comics, I added options to the options menu when displaying the comic you want to modify. To delete, just select the delete option and confirm. To edit the comic, I made an AlertDialog listing the various things you can edit. Selecting on of those brings up another dialog where you can either edit the attribute or cancel.
I learned quite a bit with this project. I don’t know if the way I accomplished it is considered a hack, but forcing certain orientations based on the screen size was an interesting problem. I also had never used the options menu, but know that I know it’s not too difficult, I may use it more often to simplify my layouts and make my apps seem more professional. I also learned that I will never, ever be using SQLite for anything more than a couple of tables.
The code is located at https://bitbucket.org/tboettcher/cs491.persist.