Design basic user interfaces and develop storyboards

Assignment Help Other Subject
Reference no: EM133535968

Mobile Development Fundamentals

Assessment Task - Trivia Quiz App

Overview
You will implement in AppInventor a multi-screen app, based on a given project specification. This app will use a range of components taught up to and including Week 11 of the course. You will also submit a brief report containing pseudocode and a description of how your solution utilises various concepts learned in class.

Learning Outcome 1: Understand constructs typical of many programming languages such as: variables, expressions, assignment, sequence, selection, iteration, procedures, parameters, return values.

Learning Outcome 2: Design, develop, test and debug mobile apps from a given textual program specification. Learning Outcome 3: Analyse the input, processing and output needs of small programming problems.

Learning Outcome 4: Design code sequences to realise algorithms in a programming language.

Learning Outcome 5: Design basic user interfaces and develop storyboards to convey designed interaction sequences. S5. Develop test cases to ensure correct behaviour.

Assessment Details
This assignment contains two parts: an app and a brief report.

1. App Details
Your assignment is to develop an Android application, using MIT AppInventor, which is a general knowledge trivia app. The app should utilise programming concepts covered in class from Weeks 2 - 10, including persistence of data using files and databases, the dictionary data structure, web and networking functionality, and sorting algorithms.

The application should contain several screens to fulfill the requirements described below. You are free to design the interfaces of your app as you like, but your solution should also meet the requirements in a logical way. Include storyboards or sketches in your report.
Specifically, the logic requirements that must be supported in the app are as follows:
- When the application is first opened, there should be a screen that provides users with a way to select the game difficulty ("easy", "medium", or "hard"); start a new game; and view high scores.
- There should be a separate screen in which trivia questions are displayed one by one. When this trivia screen opens, it should load questions of the selected difficulty, following the

o If the device is currently connected to the network, questions should be loaded from the Open Trivia Database API, as described in the API section of this document.

o If the device is not connected to the network, questions should be loaded from the provided text files, which contain static question data retrieved from the Open Trivia Database API.

• A single question should be displayed at a time, including its category, question text, and four possible answers (including the correct answer and three incorrect answers in a random order). The user should be able to select one of these answers, at which point the following should occur:

o If the selected answer is the correct answer, the user's score is incremented by 1 point (the current score should also be visible on the trivia screen). A new question is displayed and the process repeats.

o If the selected answer is incorrect, the user should be made aware that they selected the wrong answer, and the correct answer should be shown.

o Once the user has answered incorrectly three times, The app should then navigate to another screen where the user can save their score to a database, passing the achieved score with it.

• The save score screen should have a mechanism for the user to enter their name, which along with their score and a current date and timestamp, should be saved to a database. Once the value is saved, the app should navigate back to the main screen.

• There should be a separate screen on which users can view the high scores by loading them from the database and displaying in an appropriate UI component. Scores should be presented in order from highest to lowest.

Downloading trivia questions from the Open Trivia Database using the API

The Open Trivia Database API should be used to download the trivia questions used in this app (when a network connection is available). You can get a random list of questions of a particular difficulty in JSON format using the following URL - all you need to do is replace <#> with a positive integer, and
<difficulty> with the preferred difficulty ("easy", "medium", or "hard") as required:

In order to correctly display any of the text in your app, you'll need to use the [.UriDecode] block (as shown below), which can be accessed from any Web type block you add to your app. For example, the RFC 3986 text that is displayed in the example image below would be decoded to "What country is not a part of Scandinavia?"

It is recommended that you visit the Open Trivia DB API link in a browser and view the JSON in a web browser to get a feel for its structure. You will see that the JSON data contains an array (results) of questions, with each question containing a range of information that describes the question, its category, correct_answer, and incorrect_answers. Your app should extract this data and load into an appropriate data structure to achieve the required functionality for this assignment.

General Requirements for Coding
While your app should meet the functionality described above, you need to ensure that you demonstrate the concepts we have covered in ITECH2000 so far. To achieve full marks, you will need to ensure that you have correctly made use of each of the following components, constructs or concepts somewhere in your app:

• Dictionary
• WebViewer and/or Web component
• ListView or ListPicker
• TinyDB and File
• Local and global variables
• Procedures

You should follow best practices for coding that we have described this semester, including the use of procedures to promote code reuse. Make sure you thoroughly test your application to ensure that it is robust.

2. Brief Report
As well as completing the program described above in AppInventor, you are also required to submit a brief report that includes the following:

• Storyboards of your designs
• Statement of Completion - indicate what features you have implemented and which are not attempted.
• Statement of Assistance - indicate what support you have received, including support from any generative AI.
• Anything cool you'd like to share about your implementation

Getting Assistance and Clarification
If any part of the task is unclear to you, or you are not quite sure how to do some aspect of the task, you should either contact your lecturer directly (via email, or in person while you are in class), or else post a question to the Discussion Forum on Moodle.

Reference no: EM133535968

Questions Cloud

Discuss data security management plan for matson logistics : For this assignment you have been tasked to complete a data security management plan for Matson Logistics.
Develop the national security policies : Why did America suddenly need to develop the national security policies (e.g., Containment) and processes (e.g., DIMEFIL, PMESII, etc.) it had never had or prev
Analysis of content material and your personal experience : Utilizing key language and terms from these concepts and theories, Keep in mind your analysis of the content material and your personal experience
Why is it important to integrate coordinated treatments : Why is it important to integrate coordinated treatments for co-occurring disorders? What are specific considerations for treating someone with a co-occurring
Design basic user interfaces and develop storyboards : Design basic user interfaces and develop storyboards to convey designed interaction sequences. S5. Develop test cases to ensure correct behaviour
Are all americans equally able to become engaged : Are all Americans equally able to become engaged in the government? What new amendments, if any, should be added to the Constitution? Why?
Discussing how language promotes or limits communication : discussing how language promotes or limits communication between people. Finally, discuss how cognition could be improved or problems could be solved
About current issue nationwide or in your community : Pretend you will contact your US Senator or Member of the House of Representatives about a current issue nationwide or in your community
What does the ever-expanding list of diagnostic categories : What does the ever-expanding list of diagnostic categories within the DSM mean to you, to me, your neighbor, to the fellow in the next town?

Reviews

Write a Review

Other Subject Questions & Answers

  How did lance armstrong frame his decision

How did Lance Armstrong frame his decision to use banned performance-enhancing drugs? Why do you think Armstrong framedit in this way? How would you have framed

  Discuss the effects of gender and size on anthropometrics

Describe the effects of age, gender, and size on anthropometrics. Identify three anthropometric data sources and explain how they should be used, the population they are most applicable to, and an industry that will benefit from this data.

  What ethical concerns does keith need to consider

What ethical concerns does Keith need to consider? As Keith's colleague, what advice can you give him based on what you have learned about psychological assessment?

  What are the implications for advanced practice nurses

Why is the way an individual defines health and health problems important? What are the implications for advanced practice nurses

  Marriage family relationships

Marriage Family Relationships Read chapter 5 about confict, speciFcally the 6 basic steps to confict resoluTon (pg. 154).

  Analyzing integral role sentencing plays in criminal process

Analyzing the integral role sentencing plays in the criminal justice process and its effects on society.  Describe the fundamental philosophies surrounding the purpose of sentencing. Describe the factors that go into the determination of each specifi..

  State what the metaphor refers to

State what the metaphor refers to. What does it mean? (Try your best to do this without using another metaphor, although you may find this very difficult).

  Who in the agencies organization will the unit report

Who in the agencies organization will the unit report?The theme of the paper is that you are establishing a new unit within an agency.

  Find articles that involve some form of empirical research

Find 10 articles that involve some form of empirical research from the past 5 years. This could involve quantitative or qualitative methods.

  Predict new it developments in the health care industry

Predict new IT developments in the health care industry for the next two decades. Use at least three quality academic resources in this assignment.

  Does your organization use e-learning

Does your organization use e-Learning? What training methods does your organization use? Are your organization's training methods effective?

  Changing prices due to currency fluctuations

Computer printer manufacturers usually sell printers at a low margin over cost and generate much more income from subsequent sales of the high-margin ink

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