Starting from:
$30

$24

Assignment 1 Temperature Converter Solution

Your assignment is to create a Temperature Conversion app as described below.




App Requirements




The app should allow the user to select either Fahrenheit-to-Celsius or Celsius-to-Fahrenheit conversions. Conversion is selected using Radio Buttons. Fahrenheit-to-Celsius should be the default if there is no saved preference.



User the following formulae for conversion:
F to C: (F – 32.0) / 1.8Example (75F): (75.0 – 32.0) / 1.8 = 23.9C
o C to F: (C * 1.8) + 32 Example (15C): (15.0 * 1.8) + 32.0 = 59F




The temperature value (the value to be converted) should be entered by the user. Values can be positive or negative. Only numeric whole or decimal values should be allowed.



Pressing a Convert button should generate the converted temperature value and display it on the screen. All converted values should be displayed out to 1 decimal place only.



All conversion operations and their results should be added to the “history” – a list of converted values. The history of converted values must be scrollable and displayed with the most recent conversions at the top of the list.



Examples:

F to C: 75.0 ➔ 23.9



C to F: 15.0 ➔ 59.0



Pressing the “Clear” button will clear the conversion history.



The Constraint Layout must be used.



You need a separate Landscape layout for this assignment.



The app must look and act consistently in either portrait or landscape orientation. No data content should be lost upon rotation (i.e., the current conversion, the current calculated results, and the conversion history should be maintained upon rotation).



Concepts and practices discussed in class and presented in course materials must be followed.
























The below are examples of how the app should look (in both orientations):






Selected Conversion




User Input Field


























































Results Output Field




History Area










Selected Conversion







User Input Field























































Results Output Field







History Area







© Christopher Hield
2 of 3









Assignment Assistance




Your course TA is available to assist you with your assignment if needed. Questions on assignment requirements and course concepts can be sent to the instructor.







Submissions & Grading




Submissions must consist of your zipped project folder (please execute Build =Clean Project before generating the zip file). Submissions not following these requirements will be penalized.



Note: To make your submission zip file smaller, before zipping your project file, you can remove the “.gradle” folder (found in your project’s root directory), and remove the “build” folder (found in the “app” folder in your project’s root directory).



Submissions should reflect the concepts and practices we cover in class.



Late submissions will be penalized by 10% per week late. (i.e., from one second late to 1 week late: 10% penalty, from one week late to 2 weeks late: 20% penalty, etc.).



The following are the key points that will be examined in Project when graded:



35% UI Design and Appearance (in both Project and Landscape orientation)



25% Input operation



25% Conversion & Results Display



15% Conversion History


















If you do not understand anything in this handout, please ask.







Otherwise the assumption is that you understand the content.







Unsure? Ask!


































© Christopher Hield
3 of 3

More products