Assignment title: Management
Page 1 of 5
Assignment — Mobile Android application
Due date: 5:00pm AEST, Friday Week 6 ASSESSMENT
Weighting: 20%
Length: Less than 50 MB 1
Objectives
This assessment item relates to the learning outcome 1, 2 and 3. 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 Android
Studio or Eclipse ADT IDE and Android API's.
Introduction
You are assigned the task of creating a data logger to capture strawberry data in a mobile application that
stores the data in a local database. The app has fields to record scientific data for each of five varieties of
strawberries, representing different growing methods (watering, compost etc) being investigated. If a
strawberry variety is selected, a page (fragment) is shown to record data values for that variety. An entry
consists of strawberry data. When the Save Log Entry button is pressed these data values are saved locally
in the application in a SQLDatabase. When the Show Log Entries button is pressed a related page
(fragment) is shown that list all the date/time and data entries made for that strawberry variety. We will refer
to our app as StrawberryLogger.
More details of these pages will be given in the sections below. You should also consult the weekly
lecture/tutorials on the Moodle website for help and more information on completing the assignment. The
tutorials contain step-by-step procedures for working through the assignment as well as some tips and extra
help. So make sure you read the lecture/tutorials on the Moodle website.
The specification of this app will be further refined in Assignment 2.
Mobile Application Home Startup Page
The application start-up page (Home_fragment) consists of five buttons for strawberry types, as well as a
previous, next and home button.
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 Strawberry 1, Strawberry
2, Strawberry 3 etc buttons on the home fragment link to the daily page fragment/s 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 Strawberry 5 view and Next will take you to the Strawberry 1 view.
Pressing on Home will have no effect.
Strawberry Data Entry Pages
These pages all have a similar appearance and so only the appearance for Strawberry 1 page will be
described. The page has the large text for the strawberry type name, Strawberry 1, at the top of the view
area. On the following 5 lines the data that is to be logged and saved is shown in the figures below.
The line immediately below the title line has the text "ID" with a text entry field below it with a text hint
1111-9999. Below this is the TextView with the text Weight (g): followed by a EditText with the hint 0.-
10000. Following this is the TextView with the text Sunlight Given: followed by a EditText with the hintPage 2 of 5
0-4. Below this is the Compost Laid (g): text line with an EditText with the hint 0-1000. Finally the text
Water (ml): is followed by a EditText with the hint 0-200.
The Save Log Entry is used is used to add the strawberry id, day, time, weight, sunlight, compost and water
values to an internal data object that saves all values. The day and time values are to be automatically
generated when the button is pressed. The Show Log Entries button is used to present all the strawberry
entries in a list format. If a EditText has a value that is not in range or does not convert to the correct type
then a Toast message is displayed and an error message appears in the field. The type for the strawberry id is
integer, date is string, weight is float, for the sunlight is integer, and for the compost and water values it is
float. If the value entered is not in range, or cannot be converted to the correct type, a simple toast message
is displayed.
The Previous button will take you to the preceeding strawberry's data entry page, the Next button will take
you to the next srawberry types data entry page. The Home button will take you to the Startup (Home)
page.
Show Log Entry Page (Fragments)
This fragment contains a list view with the strawberry varieties date-time information followed by the
corresponding log values seperated by spaces, on one line. Every saved entry for that strawberry variety is
displayed in the list in date values order like this. At the bottom of the page is a button that returns the user to
the strawberry data entry page. Note this buttons' text is customised with the name of the variety.
Options Menu pages
A number of menu options should be shown, if the user presses the console Menu button, as shown in Fig. 1.
Fig. 1: Options menu.
If the user taps the Save entries Menu then all 5 strawberry's id, date/time, weight, sunlight, compost and
water values should be saved to a SQLite database on the mobile device. When the application is opened this
database is used to intialise previously saved srawberry's strawberry logger entries to that given in the
database and then new values are added to the app as the user enters new data.
The Send all entries will be used for other purposes in the next assignment, but for now we will use it to
clear the current database of all entries. The Profile menu option is covered in the next section.
Profile page
The Profile fragment UI asks users to provide a username and password. A Logger username edit text field
is supplied for the user to enter their 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 to be saved
in local variables (for use in the next assignment) and the Home page (fragment) is shown. If the Cancel
profile button is pressed the Home page is returned to. The intention of this is to allow for authentication to
a company database at a later stage of development of this app.
Other Features
When the Send all entries menu option is chosen the dialog shown on the left of the Fig. 6 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 Strawberry logger entries. As a result subsequently showing the list for any strawberry type
will present an empty list.Page 3 of 5
When the Android BackButton is pressed on the Android device the dialog on the right of the figure below
is presented. If the user taps the "Yes" button then the local Strawberry logger 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. The intent is that the user controls what data is entered
and only when send entries is pressed is the database cleared.
Required Documentation
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 and manufacturers targeted for the application. You should state what
mobile devices where used to test the application and what version of Android is supported.Page 4 of 5
Application Commentary
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.
Submission
You are required to submit your assignment electronically via the Moodle course website. The deliverable
is a rar or zipped directory containing all the code and resources needed for testing. You must rar or zip
(or tar) together:
• Locate your Android Studio project and zip or rar this folder.
• Your Word document
The resulting rar or zip file should be submitted on the course website. Please note that you should use your
student number as the name for your rar or zip file when uploading to Moodle.Page 5 of 5
Assessment criteria
Assignment
Component Criteria Marks Total
MainActivity file
- The onBackPressed() method display the correct dialog information
- Pressing "OK" in the onBackPressed() method saves the SQLite
database and exits
- The ArrayList values are set from the SQLite database entries on entry
3
Fragment files
- The home, next and previous buttons work as required
- The strawberry time/date and other data is updated when the Save Log
Entry button is pressed
- The Strawberry log entries are saved by the Save Log Entry button
- Numerical errors are caught, as are range errors and appropriate
messages displayed
- The profile page checks that the passwords match, no items are null
and returns to the home fragment
- Show Log Entries button works and shows all entries for that
strawberry variety and returns to the correct page
5
res/layout/xml and
other files
- Items on fragments are in the correct positions w.r.t. each other
- EditText items have the correct hints
- Navigation buttons are in a line and of equal width
- Labels are all as given in the specifications
- The StrawberryLogs class exists and has the correct constructor
4
Menu options
- The Profile menu is present and works as specified
- The Save entries menu saves the correct values to the database
- The Send entries menu option clears the SQLite database and all the
strawberry variety ArrayLists
3
SQLite database
- The DBAdapter class is present and works correctly
- The strawberry ArrayLists are correctly set when the application loads
from the SQLite database 1
Hardware/Software
& commentary
Hardware / Software requirements 1
Application commentary
2
General
- Feedback given as required
- Use appropriate naming conventions
- Adequate commenting
- Correct grammar
- Citation of references, copyright use
1
Penalties
Total 20
Lecturer Comments
Lecturer's Signature Date: