Description
Your assignment is to create a Note Pad app as described below.
Uses: File System, State Saving, Alternate Landscape Layout
App Requirements
The app should act as a simple note pad, allowing the user to enter text notes.
The note pad should display the last update date/time (which is the last save date/time – this should be
saved when the note is saved – not entered or editable by the user).
Note text (and the saved time) should be automatically saved when the user presses the back arrow, home
button, etc. – any time the app goes into the Paused state.
Note text (and the saved time) must be saved to the device’s internal file system. You can use either XML,
JSON or Externalization to do this – the choice is yours but no other options can be used.
Note text (and the saved time) should be automatically loaded when the app goes into the Resume state.
If no saved data file is present, the app should start with no text and the current date/time displayed as the
Last Update time. This situation should not results in any errors.
The note text on the screen should have a scroll bar, because the text entered can be longer than the
displayed area.
The app must use a different layout for landscape orientation (different than the portrait orientation layout)
– shown below. All data content must be present in both portrait and landscape orientations.
Contents and practices discussed in class must be followed.
The below is an example of how the app should look. Note, you do NOT need to make yours look exactly like
this, but the content here is limited to try to keep variation minimal.
Quick Notes
Last Update: Sat Feb 4, 10:15 AM
These are my notes!
-Class this Sat (IIT) in LS-110 at 1pm
(CS 442).
-Assignment 1 is due today!
-Assignment 2 is starting today.
-Go to the store to buy food after
class. [Pizza, yoghurt, juice, bread,
fruit, and cereal].
-Binge-watch Game of Thrones
with friends tonight.
-Start getting docs together to do
my taxes.
-Meet project team in the Bog
Quick Notes
Last Update:
Sat Feb 4, 10:15 AM
These are my notes!
-Class this Sat (IIT) in LS-110 at 1pm (CS
442).
-Assignment 1 is due today!
-Assignment 2 is starting today.
-Go to the store to buy food after class.
[Pizza, yoghurt, juice, bread, fruit, and
cereal].
Last saved
date/time
Notes text
Scrollbar
Portrait Orientation Landscape Orientation
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 2 of 2
Assignment Assistance
The TAs for our course is available to assist you with your assignment if needed. Questions on assignment
requirements and course concepts can be sent to the instructor.
Submissions & Grading
Submissions must consist of your zipped project folder (please execute Build =>Clean Project before
generating the zip file). Submissions not following these requirements will be penalized.
Submissions should reflect the concepts and practices we cover in class.
Late submissions will be penalized by 10% per week late. (i.e., from one second late to 1 week late:
10% penalty, from one week plus one second late to 2 weeks late: 20% penalty, etc.).
The following are the key points that will be examined in Project when graded:
o 40% UI Design and Appearance
Portrait orientation looks & works properly
Landscape orientation has its own layout, and looks & works properly
Proper use of Constraint Layout in both layouts
All required information is present when rotating between orientations.
Overall appearance is clean and professional
o 20% Input operation
User text entry works properly – scrolls as needed.
Text entry works as expected in both orientations.
o 40% Save & Restore
Note text and the current date/time (last updated time) are saved when
Paused state is entered
Note text and the saved current date/time are loaded when Resume state is
entered.
App behaves appropriately if save-file is not present
If you do not understand anything in this handout, please ask.
Otherwise the assumption is that you understand the content.
Unsure? Ask!