1. Homepage
  2. Programming
  3. KIT305 KIT607 Mobile Application Development - Assignment 2 - Android Application

KIT305 KIT607 Mobile Application Development - Assignment 2 - Android Application

Engage in a Conversation
UTASKIT305KIT607Mobile Application DevelopmentKotlinJava

Assignment 2 - Android Application

  CourseNana.COM

Important Information

This assignment is due on Sunday 28 April 23:55 (Week 8). CourseNana.COM

This is an individual assignment. CourseNana.COM

This assignment is worth 20% of your final grade. CourseNana.COM

This assignment addresses ILOs 1, 2 and 3.   CourseNana.COM

Marking Rubric CourseNana.COM

Assignment 2,3,4 2024 CourseNana.COM

Assignment 2,3,4 2024.docx (docx, 41.8KB) (these are the same, but this might be easier to read) CourseNana.COM

Background

In assignment 1, your task was to design, prototype, and evaluate a mobile application for the app described in the Assignment Theme. Your task for this assignment 2 is to now implement an Android application loosely based upon that prototype which provides the required functionality from the Assignment Theme.  CourseNana.COM

The goal of this assignment is to assess your ability to implement Android Applications, and to demonstrate your understanding of the fundamentals of mobile device programming when applied to a practical context. CourseNana.COM

Specification

You must create a native Android application (i.e. you cannot use Flutter or other Cross-Platform tools for this assignment). Your native application must be written in Kotlin. CourseNana.COM

Aside from checking for functionality, your program will be assessed on its robustness (i.e. does the application crash), usability, and aesthetics. You will not be assessed on your coding style, commenting, or indentation, however given the scale of this application, you are advised to use good programming practice to assist in development. CourseNana.COM

UPDATE: What is "Robustness"? CourseNana.COM

When marking this assignment, we will be checking for bugs by trying to break your application. Common things we will do are: CourseNana.COM

  • Try and enter words/letters into a number text box
  • Try various unexpected routes throughout your app

You will only be marked down for very obvious bugs. We won't be trying very crazy edge-cases like seeing how the app works without internet connectivity for example. CourseNana.COM

Clarification from Assignment 1 CourseNana.COM

The following points clarify and add on to the Assignment Theme. CourseNana.COM

You do not need to implement any of the following functionality: CourseNana.COM

  • Sign-in/register/multiple users
  • Videos
  • Payments/microtransations

Even if your assignment 1 prototype had these features you do not need to implement these things. Similarly, if your Assignment 1 prototype is missing some of the features specified here and in the Assignment Theme, you should still include the features in this assignment. CourseNana.COM

There are no marks for how well your assignment matches your Assignment 1 prototype. CourseNana.COM

  CourseNana.COM


  CourseNana.COM

Data Persistence

Data entered by the user should persist between runs of the application. You must use Firebase Firestore as your data persistence method (i.e. you cannot use SQLite or SharedPreferences as your primary persistence method). CourseNana.COM

Because your app will be connecting to the database on the Firebase servers, it means that the data you see in your app will be the same data that your marker can see when they mark your application. As a result: CourseNana.COM

  • It is okay for your application to already have data in it when it is marked
  • The data in the database when you submit it should be sensible (not things like “asdf” “blah” etc), no swears, but funny things are allowed to make the marking process more fun 
  • You should check that your application still works when there is nothing in the database (i.e. it should not crash, and should function properly if there are no attempts or button presses).

For a top-level assignment, pictures associated with attempts will persist in the database. However the mark for this is in the CRA is associated with the “Camera/Photo” item, not the “Data Persistence” item (i.e. you can still get an HD on “Data Persistence” if your pictures don’t save). CourseNana.COM

CourseNana.COM


Devices / Screen Size

In mobile development, a big issue is that of making sure our applications look good and function well on the wide range of devices that are available (with varying screen size, aspect ratio, DPI, etc). We use tools like ConstraintLayouts and detection of screen size (not covered in this unit) to provide alternate layouts for different devices. CourseNana.COM

For the purposes of ensuring this assignment isn't too difficult (within the time frame provided), you are only required to ensure your application looks good on one given device (/emulator) of your choice. CourseNana.COM

Similarly, you may choose design your application to only work with one given screen orientation (i.e. portrait or landscape). CourseNana.COM

To assist with marking, please ensure you indicate either in your documentation or on MyLO submission notes what device and orientation you have tested your layout on, so that your marker may use the same one. CourseNana.COM

Use of Tutorial Code and Outside Code

You are more than welcome to use the Week 5 tutorial base code or completed Week 5 tutorial work as a base of your assignment—in fact this is encouraged. You do not need to reference this in your assignment. CourseNana.COM

You are expressly prohibited from using any other code online as a template for this assignment. Small snippets of code (such as stackoverflow answers and definitely code from the Android documentation) may be used with code comments showing the URL of where the code came from. CourseNana.COM

Third-party libraries (for example, for things like date-pickers, data persistence, user interface elements, drag/drop, and camera/sharing, etc.) must not be used. CourseNana.COM

While the tutorials and lectures in this unit will have shown you how to build a simple application with navigation, listing data, updating data from a Firestore database, sharing and camera functionality, it is expected that you may come across problems you will need to solve yourself by researching documentation or guides online. If you do so, you need to include this information in your documentation (see below). CourseNana.COM

It is expected that before asking your tutor or the lecturer for help, that you have already done some basic research on your problem or error message. After that, we are more than happy to provide as much help as possible (it’s what we’re here for!) CourseNana.COM

Exception: Use of Glide and Firebase Cloud Storage for HD-level Camera/photo data persistence CourseNana.COM

Storage of images in a Firebase database is a slightly complex topic given the 1MB limit of Firebase documents. You could just resize your image to be quite small, and store the base64 encode of the image in a standard Firebase field, or you might opt to use Firebase Cloud Storage, documented here: https://firebase.google.com/docs/storage/android/download-files. CourseNana.COM

One approach in that documentation talks about using a third-party plugin called Glide (although the bytes[] alternative doesn't need this). You may use this plugin ONLY for the data persistence of images component of the assignment. CourseNana.COM

  CourseNana.COM


 

Use of ChatGPT and GitHub Copilot

You are permitted to use the generated outputs of ChatGPT and GitHub Copilot for this assignment. These tools (and their future iterations) are likely to be part of the workflows programmers will use in the future, so it makes sense that you practice using them. Some notes: CourseNana.COM

  • Whenever you use the output of ChatGPT or Copilot in your code, you must reference it using a code comment, and in the references list document that you submit for your assignment.
    • To reference your use of ChatGPT, you should "share" the conversation in which you obtained the code/guidance.
  • You cannot use ChatGPT or Copilot to produce the majority of your code.
  • When using the output of ChatGPT and Copilot, always be careful of any mistakes or bugs that may be present in the code. These tools can produce output quickly, but it is not always mistake-free.

Note this is the policy of this unit, me allowing to use ChatGPT here is not precedent for your to use it in your other units. CourseNana.COM

CourseNana.COM


  CourseNana.COM

Assignment Submission

The following files must be submitted via MyLO before the due date: CourseNana.COM

  • One zip file, containing the project files.
    • You should create this ZIP file using the File -> Export -> Export to Zip option. Submit the ZIP file which is created.
  • A PDF file containing (this file is not marked, but if it is not present, or the contents are wrong, you will lose 5% of your mark for this assignment) :
    • Which device/emulator type you would like the marker to test with
    • A list of references used in your assignment including:
      • any tutorials you followed either whole or in part
      • any code snippets from online forums like StackOverflow
      • where you used ChatGPT or Copilot
        • this should be both a shared link to the conversation, and a brief description of what questions you asked ChatGPT
        • or a direct statement that you did not use ChatGPT or Copilot for your assignment
    • A list of the Activities your app has, and a brief description of how these Activities interrelate

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
UTAS代写,KIT305代写,KIT607代写,Mobile Application Development代写,Kotlin代写,Java代写,UTAS代编,KIT305代编,KIT607代编,Mobile Application Development代编,Kotlin代编,Java代编,UTAS代考,KIT305代考,KIT607代考,Mobile Application Development代考,Kotlin代考,Java代考,UTAShelp,KIT305help,KIT607help,Mobile Application Developmenthelp,Kotlinhelp,Javahelp,UTAS作业代写,KIT305作业代写,KIT607作业代写,Mobile Application Development作业代写,Kotlin作业代写,Java作业代写,UTAS编程代写,KIT305编程代写,KIT607编程代写,Mobile Application Development编程代写,Kotlin编程代写,Java编程代写,UTASprogramming help,KIT305programming help,KIT607programming help,Mobile Application Developmentprogramming help,Kotlinprogramming help,Javaprogramming help,UTASassignment help,KIT305assignment help,KIT607assignment help,Mobile Application Developmentassignment help,Kotlinassignment help,Javaassignment help,UTASsolution,KIT305solution,KIT607solution,Mobile Application Developmentsolution,Kotlinsolution,Javasolution,