Bonus Lectures & Bonus HW
Last updated
Last updated
Bye-bye, XML!
For this assignment, you will be tasked with creating an app--any app--in Jetpack Compose.
We're keeping the actual implementation of the app largely up to you--that is, besides the basic functionality & requirements we'll describe below, the look and function of the app is yours to design! Of course, cleaner and more intricate designs will award more credit.
Since this assignment is much more free-form, we will not be giving you a procedure to follow, but rather a credit breakdown of points that you will be awarded for meeting certain criteria.
You can complete as much or as little of the credit breakdown as you'd like--this is a bonus assignment, after all!
Note: Although we mentioned we were planning to make you recreate previous homeworks for this assignment, there has been a change of direction for this assignment. We will NOT be permitting you to submit a direct recreation of previous homeworks.
1 pts - One full Composable screen exists.
2 pts - More than one full Composable screen exists, and there is a way to navigate between the two.
2 pts / screen, 4 pts max - Recomposition is implemented that makes the app react real-time to some user input. This could be through Buttons, Sliders, TextFields, and more!
1 pts / animation, 3pts max - Animation exists in any capacity. This could be through a composable fading in/out, popping in, or changing in any other way over time without direct user input.
(i.e. a color changing due directly to recomposition caused by a Slider would not count towards this.)
2 pts - The app is based off a creative idea that serves actual utility. Be creative and come up with an app idea that inspires you!
(If I was given this assignment, I'd make a factorial/Fibonacci calculator, for example! But you probably could have already guessed that...) - Justin
Since this assignment is on Compose whereas this course is primarily focused on Android Native, you'll most likely have to search online for ways to complete some of the problems. However, for most of the more basic criteria, you can likely consult our demos and slides.
Bonus Lecture 1:
Jetpack Compose
Composables
Modifiers
Animation as State
Bonus Lecture 2:
Recomposition
Live Data
Navigation - NavController and NavHost
We're excited to see what you can compose!