CST 338 - Week 7 + 8 - Crossing the Finish Line
Look back at the HW1
Wow Hangman. It feels like a long time since I opened IntelliJ to start working on the Hangman project during the first week of our class. There are a lot of things I could use to improve it based on what we learned, for example:
1. Maybe I would use Room Database instead of a .txt file to store allWords ... that way when the app starts there are already preloaded words that can easily be edited and tracked.
2. Going even further, maybe I would use Retrofit to retrieve a random word from an open API service like this one: https://random-word-api.herokuapp.com/home
3. Rather than using System.out, I could build an actual UI. Maybe I could build an Android app, and build a View Model structure to show someone the interface of the hangman app.
Overall, the exercise proved very valuable. We were working on KEY logic which would be adopted into a more complex and rich hangman app. I'm very sure some of the key functions would remain the same. That said -- we've learned a lot through this course and if I were to do it again, I could do quite a lot.
Highlight at least two victories.
1. Really minor but I came into this class worried about Java. I haven't written much Java professionally, and the Java classes I took were years ago. That said, I always forget how easy it is to pick up a language. Really happy that this ended up not being an issue at all.
2. Now, I had truly never built an Android app -- certainly not native with Android studio. I think something I was really happy to learn was how simple the separation between the view and logic layer is done for a Java app. The XML file being the layout and overall "look" and the Java class file being where the heavy lifting and dynamic work is being done. It's not too dissimilar from the web apps I'm familiar building, with HTML being the building blocks and a JS file being "where the magic happens". Still it's nice to see similar patterns and analogues. This extends into event handling, where we have similar "onClick" handling as you would in Javascript and DOM elements. Overall I was presently surprised by how well my knowledge transferred over and paradigms remained the same.
Comments
Post a Comment