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 Android Studio or the Eclipse ADT IDE and 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.
Mobile Application Home Startup Page
The application start-up is unchanged from assignment 1.
Car, 5T Truck, 10 Truck, Tipper and Articulated Data Entry Pages
The company has decided that it needs to collect the latitude and longitude of the vehicle when one of the time buttons are touched. This means you will have to determine the location and add this to the time string that is displayed. Figure 1 shows the resulting appearance of the fragment.
Show Log Entries Pages
These pages are unchanged from assignment 1 other than showing the latitude and longitude as well as time, see figure 2.
Options Menu pages
The Options Menu options is unchanged from assignment 1 except for the Send all entries option.
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.
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, e.g.
When the email is sent all the Vehicle logger database entries are deleted.
To test this feature send the email to yourself. Include a copy of any such emails in the documents you submit for the assignment.
Profile page
The Profile fragment is unchanged from assignment 1.
Other Features
These are unchanged from assignment 1.
Required Documentation
You are also to prepare a Word document. Your document should include an appropriate title page. Your document should have sections that address plan for testing the mobile application, sending your app data and the financial case and application commentary.
Plan for a Testing Strategy for your App
Your document should:
•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.
Sending your App data
In the assignment the vehicle data is sent contained in an email. Discuss how you would use SMS messaging to achieve the same thing.
Give advantages/disadvantages for both approaches.
Financial Case & 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.
•Are there any ethical considerations in making this kind of service available?
•Discuss the economic/financial case for an extension of the proposed system that would allow you to customise the record keeping features of the app. Identify potential revenue streams and costs. How much would these costs be for your proposed user base? How would you show that you are achieving this user base? Given how long it has taken you to develop what do you estimate technical development costs to be in hours? How would you promote your app and what kind of marketing should be employed? .
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 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
•Copies of emails from your app
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.