CET343 (Android M.D.) PPW2 Task and Submission
- Details
- Category: Level 3, Android Mobile Development
- Published: Thursday, 04 February 2021 15:02
- Hits: 1839
Task
CET343 Android Mobile Development Assignment 2 (2019/20)
This assignment contributes 60% to your final module mark and tests learning outcomes 1,2, 3 & 4. The assessment has been designed to enable completion within a maximum time frame of 28 hours.
- Advanced understanding of the various methodological approaches to native mobile design, including different programming languages, storage designs and appropriate native mobile standards;
- Comparative knowledge of design and development techniques for the design of native mobile applications and storage systems
- Ability to plan, analyse, design, build and implement a media and interaction rich native mobile application in a chosen domain
- Ability to plan, develop and implement an integrated testing and evaluation strategy accounting for user experience, data integrity and network performance issues.
This assignment is split into three parts. Part A is worth 30 marks and is a functionality, testing and evaluation report which offers you the opportunity to discuss your apps functionality against the requirements, present your testing results and evaluate the overall success. Part B is worth 60 marks and this offers you the opportunity to create all of the functionality for the app. The final section, Part C, is worth 10 marks and gives you the opportunity to demonstrate your app.
This assessment is taking place as a Full Professional Practice Week.
Your problem will be issued at 9am Monday and you will submit by 9am Friday. This means you have 4 working days to complete it. We assume that 4 working days means 7 hours per day (as if you are working a full time job, 9am-5pm with lunch break), and your tutor and moderator have agreed that the task should take no longer than 28 hours.
Scenario
uGotThis
You have been commissioned to create an app that will help users manage tasks that they need to complete. This app will allow for the creation and management of tasks as well as extra features such as task delegation and location tracking.
Typical user interactions
David is looking to get a handle on a long list of jobs that he needs to complete in order to organise a surprise birthday party. He searches the play store for “todo list app” and comes across an app called uGotThis. After downloading the app, he is asked to register for an account. Once registered, he logs into the app and asks if he wants to add a task to his list. He adds a task and this appears on the home screen of the app. He can then manage the tasks by editing and deleting them, and marking them as complete. He also notices that he can send tasks to people in his contacts list so he decides to send a task to his sister via SMS who is also helping with the party planning.
Core requirements of the app:
- Home screen - the point of entry for your app.
- User registration
- Manage my tasks
- Delete tasks
- Edit tasks
- Mark as complete
- Create a task
- Task Delegation
- The ability to send a task as an SMS to another phone.
Optional Desirable Requirements for the app:
- The ability to Geotag a task so the location of the task can be recorded and then viewed on a map.
- The ability to attach media to a task such as pictures, videos or audio recordings.
- To include gesture control to improve the management of tasks.
There is no associated logo or house style for this app yet so you have free reign over the appearance.
Part A - Functionality, testing and evaluation report (30 marks)
A short technical report should be submitted. The document should include the following sections:
- Front cover. Include name, userID, registration number and programme.
- Functionality. Provide detail on each element of your application’s functionality. You should give a clear description of the implementation, including storage requirements and external APIs used (if relevant), and justify your design and implementation choice.
- Test Strategy and Test Results. Summarise your strategy for testing, including testing for multiple device support, and give results of your tests.
- Evaluation. Comment on the success of your implementation and make recommendations for improvements.
Part B - The mobile app (60 marks)
The completed prototype app should be submitted. The application should be native and work well on an Android phone or tablet device. For the purpose of this project all data persistence can be local but it is encouraged to implement cloud solutions for data persistence.
Your prototype should include all of the core requirements mentioned in the scenario.
You are also to attempt one of the optional desirable features. Please only attempt one desirable feature as marks will only be awarded for one.
Please ensure that all code (XML and Java / Kotlin) is commented appropriately and that you have packaged the app successfully before submitting a zipped project file to canvas.
Part C - Demo (10 marks)
You are required to demonstrate your app with a screencast recording. This should be no longer than 10 minutes. The purpose of this demonstration is to:
- To showcase the application and how well you have met the core requirements.
- To showcase the application and how well you have met the desirable requirement of your choice.
- To demonstrate any issues identified during testing which have not yet been resolved.
Submission
The deadline for submission is the 10th of January 2020 at 9am. This excludes anyone who has a support memo and may be entitled to extra time.
Please submit the 3 files to canvas. A PDF for your report, a Zip file containing your android studio project and an MP4 file of your screencast.
Marking Criteria
Part A
Functionality (8 marks)
Full marks for clearly explaining your app’s core functionality including explaining the storage of data and any APIs you might have used.
Testing and Evaluation (16 marks)
Full marks awarded for detailing your chosen test strategy, presenting your findings and critically evaluating how successful your app has been.
Presentation and referencing (6 marks)
Full marks for this section will be awarded for a professional report including a front cover and accurate referencing.
Part B
Core functionality to include the following (maximum 36 marks):
- Home screen - the point of entry for your app. (5 marks)
- User registration (7 marks)
- Manage my tasks (12 marks)
- Delete tasks
- Edit tasks
- Mark as complete
- Create a task (6 marks)
- Task Delegation (6 marks)
- The ability to send a task as an SMS to another phone.
Desired functionality (1 to be completed, maximum 24 marks)
- The ability to Geotag a task so the location of the task can be recorded and then viewed on a map.
- The ability to attach media to a task such as pictures, videos or audio recordings.
- To include gesture control to improve the management of tasks.
Part C
Demonstration (10 marks)
A short, successful and professional demo of your application explaining how you have met the core and desirable requirement and any issues you had along the way. This is to be submitted as a screencast (mp4) no longer than 10 minutes.
Marking Grid
|
Functionality |
6-8 marks A fully comprehensive accurate description of the functionality included in your app. |
3 - 5 marks A description of most of the functionality of your app but some parts may be missing or not described. |
0-2 marks A poor or missing description of the functionality of your app. |
|
Testing and evaluation |
10-16 marks A comprehensive test strategy where all tests are relevant and documented, including a detailed documentation of how successful your app has been. |
5-9 marks A good test strategy where testing is mostly relevant and you have attempted to critically evaluate how successful your app has been. |
0-4 marks Partially completed or missing test strategy with little or no evaluation. |
|
Presentation and referencing |
4-6 marks Professional presentation including contents page and front cover with accurate referencing |
0-3 marks Presentation of the document might be lacking professionalism and references might not be accurate |
N/A |
|
Core app functionality (maximum 36 marks) |
||
|
Home screen |
3-5 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
|
User registration |
4-7 marks A fully or partially working activity. |
0-3 marks An incomplete or missing activity. |
|
Delete my tasks |
3-4 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
|
Edit my tasks |
3-4 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
|
Complete my tasks |
3-4 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
|
Create a task |
4-6 marks A fully or partially working activity. |
0-3 marks An incomplete or missing activity. |
|
Delegate a task |
4-6 marks A fully or partially working activity. |
0-3 marks An incomplete or missing activity. |
|
Desired functionality (maximum 24 marks and only one to be attempted) |
|||
|
Location tagging of tasks |
17-24 marks A complete or very good attempt at the functionality |
9-16 marks A good or partially working attempt at the functionality |
0-7 marks An incomplete or poor attempt at the functionality |
|
Media |
17-24 marks A complete or very good attempt at the functionality |
9-16 marks A good or partially working attempt at the functionality |
0-7 marks An incomplete or poor attempt at the functionality |
|
Gestures and sensors |
17-24 marks A complete or very good attempt at the functionality |
9-16 marks A good or partially working attempt at the functionality |
0-7 marks An incomplete or poor attempt at the functionality |
|
Presentation screencast (maximum 10 marks) |
||
|
Presentation |
6-10 marks A professional demonstration of your app covering how the app meets the needs of the scenario with the core requirements and any desirable requirements. |
0-5 marks A demonstration of your app that may fall short of explaining the core requirements of the app to the desired level |
Submission
uGotThis Functionality, Testing and Evaluation Report
University of Sunderland
Faculty of Technology
Department of Computer Science
CET343 Android Mobile Development:
uGotThis Functionality, Testing and Evaluation Report
Student Name: Andrea Eva Frankone Balazs
Registration Number:
Programme: BSc (Hons) Web and Mobile Development
Functionality
The SQLite package APIs were used to store application data. Because
of the standard database structure, modifying the Helper file makes it
easy to use other databases for example the cloud.
Register Activity
Registration is required to use the program. You can access the
Register Activity page by clicking the button at the bottom of the
MainActivity page. The look of the register page is defined in the
activity_register.xml file. The user must provide their name, email
address and password, which they must confirm. After validation, the
data sent to the database helper is inserted into the database by the
addUser function. You will then be sent back to the login page.
With Nested Statements, the application checks for the required input
data and alerts you to its absence.
This is Register Form screen with error message if we leave the fields
empty.
MainActivity
The appearance of the MainActivity class is defined in the
activity_main.xml file. The user must enter their name and password to
log in. The Login button on the MainActivity page sends the data sent to
the database helper to verify that the name and password match the
database. Then the user is sent to TasksActivity.
Multiuser allows the application to save the user ID to
SharedPreferences after login. Based on the ID, everyone has access to
their own data only.
This is Main Activity screen with toast message if we wrote wrong name
or password in the fields.
Task Activity
TasksActivity's look is defined in activity_tasks.xml. The TasksActivity
page displays the date of the day and the associated tasks in
chronological order. The button above shows a calendar. The calendar
can be used to change the date and the tasks to the date appear in
chronological order. Use the button at the bottom of the page to go to
the NewTask page.
When you send an SMS, the built-in Messenger service is called and a
pre-edited message is delivered, which can be further edited there. You
can select recipients from existing contacts.
The status of the tasks is listed in the ActiveFlag column, which can
have 3 values. 0 = Uncomleted 1 = Completed 2 = Deleted.
Each new job is automatically created with a 0 status.
Tasks with delete status are not displayed, but are still available from the
database if needed.
This is Task Activity screen In chronological order.
This is Task Activity screen when use the delete icon.
this screen shows that the task can be sent as sms
this screen shows that sms has been sent and the text is the same
New Activity
The look of NewTask is defined in an activity_new_tasks.xml file. The
user must specify the Title, Descriptions, Address, Date and Time and
press the save button and the data sent to the database helper will be
inserted into the database by the addTask function. It will then send the
user back to the TaskActivity page.
An API key has been created and enabled for map enhancement.
Before inviting Intent, using the GeoCoder, the application obtains
longitude and latitude coordinates of the location. This also allows you to
use known locations eg. University of Sunderland or Royal Hospital
Sunderland, not just the use of postal addresses. You pass them along
with your title to the Google Map application during the call.
To avoid incorrect input data, we use the Date and Time dialog boxes
when creating and editing tasks.
I used the Pixel2 API 28 (Android 9, API 28) virtual device because it is
a time to use google map application for maps.
This is NewTask Form screen with error message if we leave the fields
empty.
This screen show the location on the map.
This screen show that when you chose the date.
This screen show that when you chose the time.
Edit Activity
Edit Activity works similarly to New Activity, except that the Edit Activity
has a check box to change the status of the task to complete or
incomplete. Then, by pressing the button, the user returns to Task
Activity.
This screen show that when you edit the task.
This screen show that when you edited the task and details changed.
Test Strategy and Test Result
Testing the date and time dialogues, the result is the correct syntax in
the field. Each number is 2 characters long to be searchable and
sortable.
Evaluation
On this project, I would say that my login and register page, when filling
in the form they all work correctly, the right error messages will come up
whenever something isn’t filled in or not filled in correctly.
The database also works correctly, as when they try to login after
registering they are able to, so the database is storing their data.
All the icons are working correctly. The edit, send as message and
delete icons when a new task is created.
However, the placement of the mark as complete check box could have
been better, as it is currently within the edit icon. So if anyone wanted to
mark a task as complete they would have to go into edit to do so.
Another thing that could be imporoved is the location, the location isn’t
show on the task, it can only be seen when in creating the task or editing
the task.
Also, having tested many tools, the application does not work on
different sized tools because only 1 main layout has been created, this
cold be also improved upon.
Responsive operation requires the creation of other volumetric layout
layouts, such as.
res/layout/main_activity.xml # For handsets
res/layout-land/main_activity.xml # For handsets in landscape
res/layout-sw600dp/main_activity.xml # For 7” tablets
res/layout-sw600dp-land/main_activity.xml # For 7” tablets in landscap
uGotThis App Video
Source Code