Mobile Android Application 1 Due Date: 11:45 pm AEST, Friday Week 7 ASSESSMENT Weighting: 30% Maximum File Size: 50 MB 1 1. Objectives This assessment item relates to the learning outcome 1, 2 and 3....

Mobile Android Application 1 Due Date: 11:45 pm AEST, Friday Week 7 ASSESSMENT Weighting: 30% Maximum File Size: 50 MB 1 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 Android Studio. 2. 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


Microsoft Word - Mobile Android Application 1.docx 1 Figure 1: Home page (fragment) Mobile Android Application 1 Due Date: 11:45 pm AEST, Friday Week 7 ASSESSMENT Weighting: 30% 1 Maximum File Size: 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 Android Studio. 2. 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. 3. Startup Page 2 The application start-up page (Home_fragment) is shown in Fig. 1. You are to implement this functionality using the Android Studio. 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. 4. 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 preceding 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. Figure 2: Vehicle variety data entry page (fragment) 3 5. 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. Figure 3: Show log entry page 6. Options Menu pages A number of menu options should be shown, if the user presses the console Menu button, as shown in Fig. 4. 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 sending the vehicle database to the employer and to clear the current database of any entries. If the OK button is pressed the DialogProgress class is used to send the email asynchronously in a thread and will show the progress of the action. Figure 4: Options menu 4 An email message is composed containing each vehicles' log entries during the ProgressDialog event using an Intent object and the built in Mail app. The username given in the preferences is to be contained on the first line of the email. Each Vehicle logger entry is put on its own line in the email (Figure 5) Figure 5: Vehicles' log entries 7. Profile page The Profile fragment UI is shown in the Fig. 6. 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. 8. Other Features When the Send all entries menu option is chosen the dialog shown on the left of the Fig. 7 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. 5 Figure 6: Profile page Figure 4: Profile dialogs 6 9. 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. 10. Hardware and Software Requirements Your document should include: • 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. 11. Application Commentary Your document should include: • List the features you successfully implemented and those you were unable to successfullyimplement; 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. 12. Plan for a Testing Strategy for your App Your document should include: • Create and review a list of mobile devices, and versions of Android targeted by the app. • Discuss whether testing is required on actual devices and what part emulators/simulators can play in this process. • Document functional and UI testing of the app. 13. Submission You are required to submit following files via the Moodle course website: • A zipped directory containing all the code and resources needed for testing. • Your project’s APK file. • Your Word document including a link to your video. o Captured screen while running your application. You must show all functionalities in 1-2 minutes video. Please note that you should use your student number as the name for your zip file when uploading to Moodle. 7 14. 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
May 18, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here