Assignment title: Information


Page 1 of 7 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 API's. Introduction You are assigned the task of creating a data logger to capture field data in a mobile application that stores the data in a local database. The app has fields to record data for each of five different fields, representing different treatments to be investigated. If a field is selected, a page (fragment) is shown to add data entries for that field. An entry consists of treatment data. When the Save Log Entry button is pressed these values are saved locally in the application in an SQLDatabase. When the Show Log Entries button is pressed a related page (fragment) is shown that list all the date/time and treatment entries made for that field. We will refer to our app as FieldLogger. 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) is shown below. Page 2 of 7 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 HP 1, HP 2, FO, MZ and Control buttons 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 Control view and Next will take you to the HP 1 view. Pressing on Home will have no effect. HP 1 to HP 2, FO, MZ and Control Data Entry Pages These pages all have a similar appearance and so only the appearance for HP 1 page will be shown, as in the figures below. The page has the large text for the feilds' name, HP 1, at the top of the view area. On the following 4 lines the data that is to be logged for saving is to be entered as shown in the figures below. The line immediately below the title line has the text "Conductivity (uS)" followed by a text edit area. This has a hint of 0.-1000. displayed when the fragment is first viewed. Below this is the TextView with the text pH followed by a TextArea with the hint 0.-14. Below the pH line is the TextView with the text Moisture (%) followed by a TextArea with the hint 0-100. Below this is the TextView with the text Dissolved oxygen (ppm) followed by a TextArea with the hint 0-100. The Save Log Entry is used is used to add the day, time, conductivity, pH, moisture and dissolved oxygen values to an internal data object that saves all values. The day and time values are to be automatically geberated when the button is pressed. The Show Log Entries button is used to present all the field entries in a list format as shown in the next section. If a TextArea has a value that is not in range or does not covert to the correct type then a Toast message is displayed and an error message appears in the field if a non numeric value was entered, as shown in the figure on the right. The type for the date is string, for the conductivity is float, for the pH float, and for moisture and dissolved oxygen values it is int. 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 field's data entry page, the Next button will take you to the next feilds data entry page. The Home button will take you to the Startup (Home) page. Page 3 of 7 Show Field Logger Entries Pages (Fragments) The Field Logger list pages, for each field, is similar except the name on the label at the bottom of the page shows the actuals fields' name (HP 1 in the figure below). This fragment contains a list view with the feilds date-time information followed by the corresponding logs values on one line seperated by spaces. Every saved entry for that feild is displayed in the list. In the figure below three records have been shown for the HP 1 field. At the bottom of the page is a button that when clicked returns the user to the feilds data entry page. Page 4 of 7 Options Menu pages A number of menu options should be shown, if the user presses the console Menu button, as shown below. If the user taps the Save entries Menu then all 5 fields date/time, conductivity, pH, moisture and dissolved oxygen 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 feilds' Field logger entries to that given in the database and then new values added to the app. 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 is shown in the figure below. A Logger 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 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 immediately returned too. The intention of this is to allow for authentication to a company database at a later stage of development of this app. Page 5 of 7 Other Features When the Send all entries menu option is chosen the dialog shown on the left of the figure below 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 fields Field logger entries. As a result sub-sequentially showing the list for any field will present an empty list. 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 Field 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. 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. 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 Website should be included. Explain what the features are and how they would help to improve the Website. Page 6 of 7 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: • Use the export option on your Field logger 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 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 7 of 7 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 fields time/date and treatment data is updated when the Save Log Entry button is pressed - The Field logger 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 field 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 FieldLogs 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 the fields ArrayLists 3 SQLite database - The DBAdapter class is present and works correctly - The fields 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: