COIT13234 Mobile Software Development - Assessment 2
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
You are assigned the task of creating a data logger to cow breed data in a mobile application that stores the data in a local database. The app has fields to record data for each of five cow breeds. If a cow breed is selected, a page (fragment) is shown to record data values for that cow breed. An entry consists of cow 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 cow breed. We will refer to our app as CowLogs.
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 please read the lecture/tutorials on the Moodle website.
Mobile Application Home Startup Page
The application start-up page is unchanged from assignment 1.
Angus, Hereford, Brahman, Shorthorn and Brangus Data Entry Pages
The company has decided that it needs to collect the latitude and longitude of the cow’s position when cow data is entered. This means you will have to determine the location and add this data (latitude, longitude) to the database. The decision is made that when a user presses the Save Log Entry button on the cowLogs page the latitude and longitude should be added to the cowLogs class, and that the database handler will have to also save this to the database. This means that a new SQLLiteDatabse needs to be created.
Show Log Entries Pages
These pages are unchanged from assignment 1 other than showing the latitude and longitude as well as time, see figure 1.
Page 1 of 5
Fig. 1: Cow breed data entry page (fragment)
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 cow database to the employer and to clear the current database of any entries. If the OK button is pressed the AsyncTask class is used to send the email asynchronously in a AsyncTask class.
An email message is composed containing each cow' log entries during the async event using an Intent object and the built-in Mail app. The username given in the profile fragment is to be contained on the first line of the email. Each Cow logger entry is put on its own line in the email, see Fig. 2. When the email is sent the app returns to the list screen as shown on the right of Fig. 2.
Options Menu pages
Page 2 of 5
Fig. 2: email programmatically entered using Intent
When the email is sent all the Cow logger database entries are deleted as is the local store on the phone for the app. To test this feature send the email to yourself. Include a copy of any such emails in the documents you submit for the assignment.
The Profile fragment is unchanged from assignment 1.
These are unchanged from assignment 1.
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. Page 3 of 5
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? .
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:
All source and resource/asset files. Required to re-create your project using Android Studio.
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.