This assessment item relates to the learning outcome 1, 3 and 4. More specifically, to design and implement a complex mobile application.
The objective of this assignment is for students to:
You are assigned the task of extending the poker note taking mobile application to store session data in a database. The individual notes app has links to each player. If a player is selected a page (fragment) is shown to add note entries. A note entry consists of a timestamp and note strings. When the Save Entries button is pressed these values are saved in a database in the application. When the Show Entries button is pressed a related page (fragment) is shown that list all the date/time, note and location entries made for that day. More details of these pages will be given in the sections below.
The application start-up is unchanged from assignment 1a.
These pages are unchanged from assignment 1a.
These pages are unchanged from assignment 1a.
The Options Menu options is unchanged from assignment 1a except for the Save entries and Send all entries option.
If the user taps the Save entries Menu then the day, date/time and note values should be saved to a SQLite database on the device. When the application is opened this database is used to intialise previously saved days’ note entries.
The Send all entries will be used for sending the notes database to the user and to clear the current database of any entries. When the Send all entries selection is made an email message is composed containing each days note entry. The username given in the preferences is to be contained on the first line of the email. Each date / time and note entry is put on its own line in the email, e.g.
This player breathes heavily when he intends to fold etc. When the email is sent all the days notes entries are deleted. To test this feature send the email to yourself. Include a copy of such emails to the documents you submit for the assignment.
The Profile fragment UI is also required. A username edit text field is supplied for the user to enter their business username. Two text fields are also supplied so that the user can enter their associated password for this username. When the Save profile button is pressed this data is saved in local variables (for use in the section above) and the Home page (fragment) is shown. If the Cancel profile button is pressed the Home page is immediately returned too.
When the Send all entries menu option is chosen a dialog asking the user if they wish to send is shown. If the “OK” button is selected then the existing SQLite database is cleared of all entries along with the local objects used to save the daily diary entries. As a result sub-sequentially showing the list for any day will present an empty list.
When the Android BackButton is pressed on the Android device a dialog asking the user if they wish to save is presented. If the user taps the “Yes” button then the local notes logs will be written to the SQLite database before quitting the application. If the “No” button is tapped then the application exits without saving any changes to the SQLite database.
You are also to prepare a Word document. Your document should include an appropriate title page. Your document should have two sections that address the hardware and software requirements and application commentary given below.
Your document should:
Your document should:
You are required to submit your assignment electronically via the Moodle player website. The deliverable is a rar or zipped directory containing all the code and resources needed for testing. You must rar or zip together:
Frequently Asked Questions about Assignment 2
How does the user access the Profile Page?
The profile page is intended to be accessed from the options menu (not shown on first launch). There is only one for the user (not for each player) and asks for a username and password that are then saved as preferences (to a pref file or to the database). When the user presses “send all entries”, the username is send as the first line in the e-mail. The password is not used.
What happens when Save Entries is pressed?
When this option is selected, all entries for every player are saved to the database. On load of the app, all entries should be read from the database.
What does the Back Button do from different screens?
When the back button is pressed from the home screen, the user should be prompted to “save all entries” and given the choice to “Save” or “Don’t Save”. From other parts of the app, the back button can go backwards or act as a Home button.
What do I need to do for the Testing Strategy?
The testing strategy should be for a mobile app as designed and should include details of the device and operating system used, as well as if it requires a network connection. “Browsers” detail may not be needed for this particular app.
What details do you need in the Financial Case?
The case is made up of details on the potential revenue (reflected by no. of potential customers) as well as the cost to develop (calculated via hours spent). You need to explain what “user base” you would sell the app to and how you’d market to this user base.
|-That pressing “OK” in the onBackPressed() method saves the SQLite|
|Main Activity File||database and exits||3|
|–||The ArrayList values are set from the SQLite database entries on entry|
|-The profile page checks that the passwords match, no items are null|
|and returns to the home fragment|
|-The save all entries options menu saves the correct values to the|
|–||The send entries menu option clears the SQLite database and the days|
|-The profile option brings up the profile page|
|Email UI||–||Data correctly sent as email & email documents submitted||5|
|SQLite database||-The DBAdapter class is present and works correctly||4|
|–||The days ArrayLists are correctly set when the application loads from|
|the SQLite database|
|– Discuss the selection of mobile models and device|
|manufacturers for your testing process|
|– Discuss whether testing is required on actual devices and what||5|
|part emulators/simulators and desktop browsers can play in this|
|– Discuss the economic/financial case for the proposed system.|
|Identify potential revenue streams and costs. How much would|
|these costs be for your proposed user base? How would you|
|Financial Case &||show that you are achieving this user base?|
|– Given how long it has taken you to develop what do you||5|
|estimate technical development costs to be in hours? How|
|would you promote your app and what kind of marketing|
|should be employed?|
|-Feedback given as required|
|-Use appropriate naming conventions||5|
|-Citation of references, copyright use|