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 method to store the product of the two arrays

Design an application that includes three arrays of type int. Allow the user to enter values into the first two.Write a method to store the product of the two arrays in the third array

  Write method to display the number by adding hundred

displayItTimesTwo(), and displayItPlusOneHundred(). Write each method to perform the task its name implies. Save the application as TestMethods.java.

  Is this an example of head or tail recursion

Referring to the code in Part 1, use the substitution model to illustrate what the result of calling (add1-iter '(1 2 3)) will be. Why is the list reversed ?

  Write a javascript function to validate a text-field

Write a JavaScript function to validate a text-field on a form that is to hold an email address. Now when writing this JavaScript function bear in mind that you won't be able to fully validate it unless you manage to interrogate the server in whic..

  Program to read sales amount-calculate sales commissions

Write down the program to read the sales amount and calculates sales commissions using following scheme.

  Script that displays the results of rolling a die n times

The example in the links below shows a script that displays the results of rolling a die n times. It retains (in memory) and can display the results of all rolls. The two links below are the html and js files for this example.

  Write a program segment to figure out all prime numbers

Write a program segment to figure out all prime numbers below 100, store the count of these prime numbers variable countPrimes, store the found prime number.

  Translate the program into three address statements

Translate the program into three-address statements of the type we have been using in this section. Assume integers require 4 bytes.

  Write a program to manage dvd rental in a video rental store

Write a program to manage DVD rental in a video rental store. Create an abstract data type that represents a DVD in this store.

  Write a subroutine that keeps prompting for a filename

Write a subroutine that keeps prompting for a filename until a valid file is entered by the user (print out "file found, thanks") or until five attempts have failed (print out "you did not enter a valid file name"). Call the subroutine from the main ..

  Identify two major segments erp systems

And a brief summary describing how such a system would be installed/implemented

  Explain about lexical analyzer

Explain about Lexical Analyzer

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