https://sdocy.github.io/SteveQuiz/
Ok, I had way too much fun creating the quiz app.
My girlfriend is always making me take those facebook quizzes so I decided to turn the tables on her and give her a quiz about something important.....me !
I was planning on having the quiz show all the correct answers at the end, but ended up giving it to my family to play with before I had implemented that part. That was the best thing I could have done. They spent over an hour playing with the app, first trying to outdo each other's score, and then working together to try to get a perfect score. It was amazing watching them thoroughly enjoy something that I had created.
I think the ultimate goal of software should be to help people accomplish or enjoy something without getting in the way and watching my family enjoying my app, I have to say I was pretty successful.
I spent a lot of time searching and reading how to do new things on Android. Whenever I thought of something cool to add to it, I would start googling how to do it. I think once you have the basics down for a language/platform, this is a great next step.
Oh, and the pic is a pic of me and my best bud, Darwin, up at Ski Bowl a few years ago.
Some cool features I figured out:
-
Dynamically expand and collapse Views based on user actions. This was my initial “wouldn't it be cool if” idea when I started thinking of the app and it really drove the overall design. Seemed like a great feature for making efficient use of limited mobile screen real-estate.
-
Add music...I'm still looking for a better way to switch music tracks other than destroying and recreating my media player.
-
Add funny question answers with funny little Easter eggs....toasts, images that expand, music that starts playing
-
Shade buttons to let the player know which questions they have answered.
-
Switching the layout displayed on the screen
-
Check correct state before going to next layout...did user enter their name, did they answer all questions?
-
A leader board that tracks the top 5 scores for this execution of the app – would be cool to learn file I/O and write the leader board to persistent store.
-
Text shadowing
-
use runnables and handlers to start a thread for animating flashing text