Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm...

6
Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% 1 Length: Less than 50 MB 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 truck location data in a mobile application that stores the data in a local database. The app has fields to record data for each of five drivers employed. If a driver is selected, a page (fragment) is shown to record data values for that driver. An entry consists of driver data. When the Save Log Entry button is pressed this data is 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 driver. We will refer to our app as DriverLogs. 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 Fig. 1: Home page (fragment)

Transcript of Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm...

Page 1: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 1 of 6

Mobile Android application 1Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT

Weighting: 30%

1 Length: Less than 50 MB

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 softwaredevelopment 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 truck location data in a mobile application that stores the data in a local database. The app has fields to record data for each of five drivers employed. If a driver is selected, a page (fragment) is shown to record data values for that driver. An entry consists of driver data. When the Save Log Entry button is pressed this data is 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 driver. We will refer to our app as DriverLogs.

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

Fig. 1: Home page (fragment)

Page 2: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 2 of 6

The application start-up page (Home_fragment) is shown in Fig. 1. 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 vehicle type buttons: Car, 5t Truck, 10t Truck, Tipper and Articulated buttons, on the home fragment, link to the driver page fragment/s discussed in the next section.

Car, 5T Truck, 10 Truck, Tipper and Articulated Data Entry Pages These pages all have a similar appearance and so only the appearance for Car page will be shown, as in the figures below. The page has the large text for the vehicles' name, Car, at the top of the view area. On the following 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 "Driver: " with a text entry field beside it with a text hint Drivers' name. Below this the text "Rego #: ", followed by an EditText field with the hint xxx-xxx. This is followed by a Button with the text Start time: followed by an empty Text. Following this are two other hidden Button's. The first has the text First break: followed by an empty Text field. Below this is the Second break: button with an empty Text field. Finally an End time: button is followed by a final empty Text field, as shown in figure 2.

When an entry is made by pressing a button the button should no longer be visible on the page, but the current time should appear in the empty text field adjacent to the button that was pressed. The following button is then showed and can be clicked to add the current time to the adjacent text field. This continues util the End time: button is pressed and the final time is shown.

The Save Log Entry is used is used to add the time values to an internal data object that saves all values. The Show Log Entries button is used to present all the time entries in a list format as shown in the next section. If a Text field does not have a value then a Toast message is displayed and an error message appears as shown in the figure on the right.

The Previous button will take you to the preceeding vehicle's data entry page, the Next button will take you to the next vehicles data entry page. The Home button will take you to the Startup (Home) page.

Fig. 2: Vehicle variety data entry page (fragment).

Page 3: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 3 of 6

Show Log Entry Page (Fragments) This fragment contains a list view with the driver id, vehicle rego number on one line followed by the vehicle date-time information values seperated on seperate lines as shown. Every saved entry for that car is displayed in the list like this. A driver may drive more than one car during the week so multiple entries can appear in the list, as shown in the figure on the right below. At the bottom of the page is a button that returns the user to the car data entry page. Note this buttons' text is customised with the name Car.

Fig. 3: Show log entry page.

Options Menu pages A number of menu options should be shown, if the user presses the console Menu button, as shown in Fig. 4.

Fig. 4: Options menu.

If the user taps the Save entries Menu then all data in the lists for the 5 vehicle types should be saved to a SQLite database on the mobile device. Typically this is done when the driver finishes driver the vehicle, and before driving a new vehicle. When the application is opened this database is used to intialise previously saved vehicles' vehicle logger entries to that given in the database. Subsequentially 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.

Page 4: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 4 of 6

Profile page The Profile fragment UI is shown in the Fig. 5. A Logger username edit text field is supplied for the driver 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.

Fig. 5: Profile page.

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 vehicles Vehicle logger entries. As a result subsequently showing the list for any vehicle 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 Vehicle 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 when the user sends the data to home base the database is cleared.

Page 5: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 5 of 6

Fig. 6: Profile dialogs.

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.

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 6: Mobile Android application 1€¦ · Page 1 of 6 Mobile Android application 1 Due date: 11:55pm AEST, Friday Week 6 ASSESSMENT Weighting: 30% Length: Less than 50 MB 1 Objectives

Page 6 of 6

Assessment criteria Assignment Component Criteria Marks Total

MainActivity file

- The onBackPressed() method display the Save dialog - Pressing "OK" in the onBackPressed() method saves the SQLite

database and exits - The ArrayList values are set from the SQLite database entries on entry

(2 marks)

4

Fragment files

- The home, next and previous buttons work as required (2 marks) - The vehicle time/date buttons work as required (2 marks) - The vehicle log entries are saved by the Save Log Entry button - Errors are caught 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 vehicle

type and returns to the correct page (3 marks)

11

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 Vehicle class exists and is correct

5

Menu options

- The Profile menu is present and works as specified - The Save entries menu saves the correct values to the database (2

marks) - The Send entries menu option clears the SQLite database and all the

vehicle ArrayLists

4

SQLite database - The DBAdapter class is present and works correctly 2

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 30

Lecturer Comments Lecturer’s Signature Date: