Create a multi-activity app

Assignment Help Programming Languages
Reference no: EM132643187

Aim and Context

This app is a two-activity app that requires the use of intents.

On completion of this task, you will demonstrate that you are able to create a multi-activity app, share data between activities using intents, use images and resources, and work with more complicated UI widgets. In particular, this task requires some attention to code decomposition and will allow you to show a level of competence with Kotlin-specific features such as scope functions -- sloppy or lazy coding will not be tolerated in this task and you will be expected to have refactored your code prior to submission.

Note this app contains an extension task that credit and above students must complete. This demonstrates the ability to work with sharing data between activities in an advanced manner and take input from the user.

Outputs

• Items to be submitted:
o PDF: A completed spike report for this task (template for this task is supplied on Canvas)
o The report must contain a link to code in a repository visible to teaching staff.
o The report must clearly contain in the title whether you have completed Core Only or Core/Extension tasks.
o Following submission of core tasks, a further asynchronous quiz or demo may be required, in particular for those submitting substandard work or late.
o Following submission of extension tasks, an asynchronous demo may be required.

Tasks

1. Start with planning and researching. This will include working through the tutorial exercises and quizzes. Outline and describe the major things you will need to do to create your app.

2. Develop an app that meets criteria as shown below.

3. The report needs to cover key knowledge gaps that are covered in this task, along with answers to requested questions. You are also welcomed to include other gaps you learned that are not explicitly focused on this task.
• Split different knowledge gaps into different sections with snippets of code (and written descriptions/captions) presenting both the knowledge gap and the solution that addresses it.
• Include references/links to sources that can assist with the knowledge gaps as well.
• Have a recommendations section for any other related knowledge gaps, outlining about what you might try to address it in the future.

The app

1. The app needs to show four images as shown below, describing your favourite foods. You are very welcome to customise what your app shows (in the past we've had favourite paintings, for example), as long as your report clearly states this,and the images are not objectionable. Stick with food if you are not sure.

2. The data kept for each image should include the name of the food, the date the photo was taken, the type of cuisine, and a rating from 0-5 (you can alter these for other domains, e.g., name of painting instead of food name, artistic period for type of cuisine, but the data types must remain the same). You will need to create a model for this -- note data should not be stored to disk, rather kept in memory. The title and rating should be shown under each image in the first activity. For the extension, at least one of your attributes should use a non-Text View widget, such as a Rating Bar, a Switch, or a Radio Group.

3. When an image is clicked, a new screen with further details needs to be shown along with the image. The data needs to be passed as a Parcel able object. The non-Text View widget needs to show the correct value on activity creation. Explain the components of your Intent and the advantages of using Parcel able objects on Android.

4. Your layout can be a grid as shown, in which case Table Layout might be useful. Otherwise Constraint or Linear layouts can be used, and images can be presented four in a row. My example is rather tricky and uses compound views -- this is only recommended for those with low frustration levels or the need to simplify their views, and you are welcome to use single views.

5. Additional requirements for this task are to demonstrate good use of Kotlin features in your code (such as scope functions) and to provide some simple sketches of the two screens in your app. The latter could be made using XD or Figma or could be freehand sketches. Please note that this does not mean "pretty" designs should be made -- it is simply testing whether you can use sketching tools to think about and communicate your app's UI.

Extension

1. Turn the second activity into a form and update the details for the images. In order to make life easy for your user, you should enter the existing text/values into the form for editing, rather than presenting empty inputs. The new details should be saved on pressing back (there should not be an explicit save button) and should be shown to the user in the first activity. Do not use persistent data for this task.

2. Keyboards should only show useful inputs for particular fields, such as dates for date strings.

3. Error checking should be included for required fields -- this could be length of string, valid dates, etc.

4. This is a good app for UI testing. Note that Rating Bars are not easy to test with Espresso so you should focus on text and other widgets.

Attachment:- Core.rar

Reference no: EM132643187

Questions Cloud

Blockchain with cryptocurrency bitcoin : The vast majority of the population associates Blockchain with cryptocurrency Bitcoin; however, there are many other uses of blockchain; such as Litecoin,
Find the probability distribution of x and e : Consider a sequence of independent coin flips, each with the probability p of being heads. Define a random variable X as the length of run (of either heads or t
What is the conditional probability : What is the conditional probability that the second player has no aces, given that the first player declares in the affirmative? To what does the probability co
Crime prevention through environmental design : Crime Prevention through Environmental Design (CPTED) long established operations currently used across the globe but not problem free operations.
Create a multi-activity app : Create a multi-activity app, share data between activities using intents, use images and resources, and work with more complicated UI widgets
Determine Gill AGI : Determine Gill's AGI for 2020. ?(Assume that the 2019 STCL of $5,000 is before Gill has taken any capital loss deduction in 2019.)
Which of statements is true about lease accounting methods : Which of statements is true about lease accounting methods? Capital leases lead to a lower Return on Assets ratio than Operating leases
Internal-external security lighting at datacenter facilities : Discuss the importance of internal and external security lighting at datacenter facilities
Explain why you selected the tests or tools : Shingles - Summarize and discuss the clinical characteristics and identify the appropriate laboratory, imaging, and other diagnostic and screening tools.

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd