CS 442 Assignment 3 – Multi-Note Pad

$30.00

Category: You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (8 votes)

Uses: RecyclerView, CardLayout, Multi-Activity, JSON File, Option-Menus, Async Task
App Requirements
x This app allows the creation and maintenance of multiple notes. Any number of notes are allowed (including
no notes at all). Notes are made up of a Title and Note Text.
x There is no need to use a different layout for landscape orientation in this application.
x Notes should be saved to (and loaded from) the internal file system in JSON format. If no file is found upon
loading, the application should start with no existing notes and no errors. (A new JSON file would then be
created when new notes are saved).
x JSON file loading must happen in an AsyncTask that is started in the onCreate method. Saving should happen
in the onPause method.
x A Note class (with last save date and note text) should be created to represent each individual note in the
application.
x The application is made up of 3 activities. These are described below:
1) Main Activity:
x The Main Activity will allow the user to create a new note via an Add
options-menu item . Pressing this button will open the Edit Activity with
empty Title and Note Text areas.
x The main activity will allow the user to edit an existing note by clicking on an
existing note in the displayed list of notes. Doing so will open the Edit
Activity, displaying the note’s Title and Note Text – both available for editing.
x The main activity will also have an Info options-menu item that will open
the About Activity when pressed. The About Activity (described later)
indicates the application’s name, the date & author, and the version number.
x Notes can be deleted from the Main Activity by long-pressing on a note
entry. Upon doing so, a confirmation dialog will be opened where the user
can confirm (or cancel) the delete operation.
x Note list-entries contain the note title (bold), the last-save-time, and the first
80 characters of the note text (see image). Notes with more than 80
characters should display “…” after the first 80 characters are displayed.
x Notes are displayed in the list in time order (latest-update-first).
x Individual list entries should be displayed using a CardView with rounded
corners. The CardView should contain a ConstraintLayout. The note data
should be placed in this ConstraintLayout.
Multi Notes
Finish Assignment
Mon Feb 6, 7:01 PM
Finish up assignment 2 before this weekend
before working on…
Buy USB Cable
Thu Feb 2, 1:31 PM
Need to buy a new USB cable that allows quick
charging and high…
Set DVR
Fri Jan 27, 9:17 AM
Set DVR to record Breaking Code marathon next
weekend.
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 2 of 6
x Main Activity (continued)
x The note list must be implemented using the RecyclerView.
x The activity background should be set to a color other than white (preferable
a darker color). The CardView list entries should be a lighter version of that
same color.
x Icons for the Add and Info menu items should be selected from Google’s
Material Design icon set (https://material.io/icons/)
2) Edit Activity
x The Edit Activity contains editable fields for the note title and note text.
x The note title is a single-line text field (EditText) where the user can
enter or edit a title for the current note.
x The note text is a multi-line text area (EditText) with no size limit. This
should have scrolling capabilities for when notes exceed the size of the
activity.
x The Edit Activity allows the note title & text to be saved by either:
a) Pressing the Save options-menu item . This will add the note to the
Main Activity’s list of notes and then exit the Edit Activity. If no changes
have been made to the current note, the Edit Activity simply exits.
b) Pressing the Back arrow to exit the activity. This will first display a
confirmation dialog where the user can opt to save the note (if changes
have been made) before exiting the activity. If saved, the note will be
added to the Main Activity’s list of notes and then exit the Edit Activity. If
not saved, the Edit Activity will exit. If no changes have been made to the
current note, the Edit Activity simply exits.
x Note this “Save” in “a” and “b” does not imply saving to file – it implies
updating an existing note object in the Main Activity’s note list or adding a
new note to the Main Activity’s note list.
x A note without a title is not allowed to be saved (even if there is note text). If
such an attempt is made simply exit the activity without saving and show a
Toast message indicating that the un-titled activity was not saved.
x The activity background should be set to a color other than white (preferably
the same color used in the Main Activity). The title and text fields should be a
lighter version of that same color (preferably the same color used in the Main
Activity).
x Icons for the Save menu item should be selected from Google’s Material
Design icon set (https://material.io/icons/)
Multi Notes
Set DVR to record Breaking Code
marathon this weekend.
Starts at 9:00 am, on channel 123. There
will be 12 episodes – all day.
Set DVR
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 3 of 6
x About Activity
x The About Activity should contain a full-screen image background (use any
non-copywritten image you desire).
x Over the background image, key information on the application should be
clearly displayed (clearly readable). This information should include the
application title, a copyright date and your name, and the version number
(1.0).
x There is no functionality present on this activity. The only action a user can
take is to press the Back arrow to exit the activity.
Application Flow Diagrams (showing how the various behaviors should work)
1) Add a New Note/Edit an Existing Note
Multi Notes
Multi-Notes
© 2017, Christopher Hield
Version 1.0
Multi Notes
Set DVR to record Breaking Code
marathon this weekend.
Starts at 9:00 am, on channel 123.
12 episodes – all day.
Multi Notes Set DVR
Finish Assignment
Mon Feb 6, 7:01 PM
Finish up assignment 2 before this
weekend before working on…
Buy USB Cable
Thu Feb 2, 1:31 PM
Need to buy a new USB cable that allows
quick charging and high…
Set DVR
Fri Jan 27, 9:17 AM
Set DVR to record Breaking Code
marathon next weekend.
1a) Click the
Add button
Edit Activity
Main
Activity
1b) Click on
a note to
edit 3a) Click the
Save button
Your note is not saved!
Save note ‘Set DVR’?
NO YES
3b) Press the
Back button
Editable
Fields
4) Select YES
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 4 of 6
2) Delete an Existing Note
3) View the application details
Multi Notes
Finish Assignment
Mon Feb 6, 7:01 PM
Finish up assignment 2 before this weekend
before working on…
Buy USB Cable
Thu Feb 2, 1:31 PM
Need to buy a new USB cable that allows quick
charging and high…
Set DVR
Fri Jan 27, 9:17 AM
Set DVR to record Breaking Code marathon next
weekend.
Main Activity
Multi Notes
Multi-Notes
© 2017, Your Name
Version 1.0
About Activity
1) Click the
Info button
2) Press the
Back button
to return
Multi Notes
Finish Assignment
Mon Feb 6, 7:01 PM
Finish up assignment 2 before this weekend
before working on…
Buy USB Cable
Thu Feb 2, 1:31 PM
Need to buy a new USB cable that allows
quick charging and high…
Set DVR
Fri Jan 27, 9:17 AM
Set DVR to record Breaking Code marathon
next weekend.
Main Activity
Delete Note ‘Set DVR’?
NO YES
1) LongPress a
Note
button
2) Selecting YES will
remove the note from
the Main Activity’s
note list.
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 5 of 6
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
1) Submissions must consist of your zipped project folder (please execute Build =>Clean Project before
generating the zip file).
2) Submissions should reflect the concepts and practices we cover in class, and the requirements
specified in this document.
3) 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.).
x The following are the key points that will be examined in Project when graded:
x General (25%)
o Loads and Saves Notes to a JSON file – no errors displayed if file is not present.
o Load is initiated in the onResult method, save is performed in the onPause method.
ƒ Uses ASyncTask for JSON file loading
o A separate Note class used to represent note data
o App is functional and visible in portrait and landscape orientations
x MainActivity (37%)
o Options Menu is present in App-Bar and is displayed as Icons
o Clicking Add button opens the Edit Activity
o Clicking Info in the list opens the About Activity, displaying the note’s title and content
o Long-click on a note in the list displays Delete Confirmation dialog.
ƒ Approving dialog results in note deleted from list
ƒ Cancelling dialog leaves the list unchanged
o Activity background color is a color other than white
o List uses RecyclerView
o Note list is displayed in order of most recent first
o List Entry Uses CardView
o List entry contains a bold title, the last-save-time, and note text is limited to 80 chars
ƒ Adds “…” for notes containing more than 80 chars
CS 442 Mobile Applications
Development (Android Section)
© Christopher Hield 6 of 6
x EditActivity (28%)
o Contains editable fields for title (single line) and note text (multi-line)
o Options Menu is present in App-Bar and is displayed as Icons
o Clicking Save button saves the note, closes the EditActivity, and updates the MainActivity
list
o Clicking Back button displays Save Confirmation dialog.
ƒ Approving dialog results in note saved, closes the EditActivity, and updates the
MainActivity list
ƒ Cancelling dialog closes the EditActivity and leaves the list unchanged
o Notes with no title are not saved (Toast message informs the user)
o Activity background color is a color other than white
x About Activity (10%)
o Contains full-screen background image
o Shows application title, copyright data and student name, and Version 1.0
NOTE
This assignment is worth 200 points (your first 2 assignments were worth 100 points each).
This means (for example) that if you get 89% on this assignment, your recorded score will be:
(89% * 200 points = 178 points)
Note that this also means that the 10% late submission penalty will be 10% * 200 points = 20 points.
If you do not understand anything in this handout, please ask.
Otherwise the assumption is that you understand the content.
Unsure? Ask!