Recent Questions and Assignment Topics

COIT13234 Mobile Software Development - Assessment 1

COIT13234 Mobile Software Development - Assessment 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 and Android API's.

Introduction

You are assigned the task of creating a data logger to capture package 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 species of cattle. If a cow type is selected, a page is shown to record data values for that type. A cow entry consists of a date and log 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 log entries made for that cow.

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. Please 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 1 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 Angus, Hereford, Brahman, Shorthorn and Brangus buttons should link to pages in a JQueryMobile multi-page structure.

Cow view Data Entry Pages

These pages all have a similar appearance and so only the appearance for Angus page will be shown, as in the figures below. The page has the large text for the cow' variety, Angus, at the top of the view area. On the following lines the data that is to be logged and saved is shown as in the figures below.

The line immediately below the title line has the text "ID: " with a text entry field beside it with a text hint of XXXX. Below this the text "Weight (kg): ", followed by an EditText field with the hint 0-5000. This is followed by a title line with the text Age (months): followed by an EditText field with the hint 0-120. Following this a title line with the text Condition: followed by a drop down list with the choices {“”, “Poor”, “Average”, “Good”} and this line terminates with a Save log entry button as shown in figure 2.

The Save Log Entry button 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 cow 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 on the left in figure 2.

The Previous button will take you to the preceeding cow breed data entry page, the Next button will take you to the next cow breed data entry page. The Home button will take you to the Startup (Home) page.

Fig. 2: Cow breed data entry page (fragment).

Show Log Entry Page (Fragments)

This fragment contains a list view with the condition, date/time, id, weight and age of each cow of this breed entered on one line as shown in Fig. 3. Every saved entry for a cow breed is displayed in the list like this. A farmer may enter details of more than one cow of this breed during the week so multiple entries can appear in the list, as shown on the right in figure 3. At the bottom of the page is a button that returns the user to the cow data entry page. Note this buttons' text is customised with the name Angus for this case.

Page 2 of 6

Fig. 3: Show log entry page.
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 cow types should be saved to a SQLite database on the mobile device. Typically this is done when the farmer finishes weekly data entry. When the application is opened this database is used to intialise previously saved cow 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.

Profile page

The Profile fragment UI is shown in the Fig. 5. A Logger username edit text field is supplied for the farmer to enter their username. Two text fields are also supplied so that the farmer 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.

Options Menu pages

Page 3 of 6

Other Features

Fig. 5: Profile page.

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 cow Cow logger entries. As a result subsequent showing of the list for the cow breeds 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 Cow 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 4 of 6

Required Documentation

Fig. 6: Profile dialogs.

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.

:

Latest Reviews
Loren, Sydney
20 Mar, 2019

I received good marks and I am very happy with your guidance. Thank you for good work.

Charlie, Leicester
09 Mar, 2019

You guys are such a saviour. Thank you for helping me to get my assignment done before time.

Mike Smith, Adelaide
15 Mar, 2019

I have been studying for MBA and I faced some problems completing my MRKT assignment. I was satisfied with the help provided by the team.

Richard Rodney, Canberra
15 Mar, 2019

High quality work…. I received very good grades. My teacher was satisfied with the quality of work.

About Us

Our aim is to make education for students as affordable as possible. With years of experience in academic writing, our assignment experts and tutors help students to produce papers of the highest academic standards at the most reasonable rates possible.

Our Contacts

Eldert Street,
Brooklyn, NY 11237

+1 (347)-481-3602
+91 - 8195000470