Practical Assignment 1 — Mobile Android application
Due date: Midnight, Friday Week 6 ASSESSMENT
Length: Less than 50 MB 1
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:
• Develop, test and maintain a mobile application using an integrated suite of mobile software development tools. More specifically Android Java development is undertaken using the Eclipse ADT IDE and API's.
You are assigned the task of creating an app for keeping notes on players in a poker game. The notes app has links to five players. If a player is selected a page (fragment) is shown to add note entries. A note entry consists of timestamp and diary strings. When the Save Entries button is pressed these values are saved locally in the application. When the Show Entries button is pressed a related page (fragment) is shown that lists all the date/time and note entries made for that note. More details of these pages will be given in the sections below.
We will refer to our app as PokerNotes. The specification of this app will be further refined in Practical Assignment 2.
Mobile Application Home Startup Page
The application start-up page (Home_fragment) should consist of buttons listing each of the five players (use generic names: Player 1, Player 2, Player 3 etc), as well as a header for the application.
You are to implement this functionality using the Android API. The application should be based on a single activity with multiple fragments used to present various views (fragments). The Player 1, Player 2, Player 3, Player 4 and Player 5 buttons link to the Player page fragments discussed in the next section. The Previous, Next and Home buttons are used to navigate between the pages. From the home page Previous will take you to the Player 5 fragment and Next will take you to the Player 1 fragment. Pressing on Home will have no effect.
Player 1 to Player 5 Data Entry Pages
These pages all have a similar appearance and so only the appearance for Player 1 will be discussed. The page has title Player 1 and current date and time: followed by a text entry block that automatically has the current date and time added in the format shown when the page is navigated to. This is followed by a Notes Entry: label and a text edit field in which the user can type multiple lines of text. In this field the user makes the notes entry for that time on that day.
The Save Notes Entry button is used to add the day, date and time values in these two fields to an internal object that will contain all such entry pairs. The Show Notes Entries button is used to present all these days entries in a list format as shown in the next section.
The Previous button will take you to the preceeding players data entry page, the Next button will take you to the next players data entry page. The Home button will take you to the Startup (Home) page.
Show Notes Entries Pages (Fragments)
The Notes Entry list pages, for each page, is similar except the name on the label at the bottom of the page includes the players name. This fragment contains a list view with the days date-time information followed by the corresponding note entry. Every saved entry for that player only is to be displayed in the list.
At the bottom of the page is a button that when clicked returns the user to the notes data entry page. The figures show the list with both a single saved entry and later when multiple entries for the player have been saved.
Options Menu pages and Other Requirements
A number of Menu options should be shown if the user presses the console Menu button.
The Save All Entries and Send all entries buttons will be used for other purposes in the next assignment, but for now we will use both to clear the current list of any entries. The Profile menu option is also covered in the next assignment, but should be added to the options menu with no functionality for now.
When the Android BackButton is pressed on the Android device a dialog asking the user if they wish to save is presented.
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.
Hardware and Software Requirements
Your document should:
• Create a list of mobile devices, browsers and manufacturers targeted for the application.
Your document should:
• List the features you successfully implemented and those you were unable to successfully implement; you should describe the problem in a few sentences and also briefly describe anything you attempted to do to get it to work. Your approach to identifying and attempting to fix these bugs may gain you some partial credit for those features you were unable to implement.
• A description of any additional functionality you believe would be useful to add to this App should be included. Explain what the features are and how they would help to improve the App.
• Are there any ethical considerations in making this kind of service available?
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:
• Use the export option on your project to produce a zip file that can be imported back into Eclipse to re-create your project.
• Your Word document
The resulting rar or zip file should be submitted on the Player website. Please note that you should use your student number as the name for your rar or zip file when uploading to Moodle.