De afgelopen maand ben ik bezig geweest met 3 nieuwe schermen, een custom view voor het timer scherm, onderzoek doen naar app architecture, en het refactoren van mijn code. Aan de front-end zal je niet veel verschil zien. De nieuwe schermen die ik heb toegevoegd zijn het video scherm, het laatst gerealiseerde project scherm, en het huidige weer scherm. Ook heb ik een custom view toegevoegd die op woensdag om 12:30 in het pauze scherm vallende gehaktballen weergeeft, en op vrijdag om 12:30 vallende vissen weergeeft. Ook heb ik nog een extra timer toegevoegd, die een bestel reminder laat zien, met vallende gehaktballen op de achtergrond. Uiteraard kunnen alle tijden wanneer alles wordt weergegeven worden aangepast. Het onderzoek naar app architecture bestond vooral uit veel lezen over verschillende architecturen en methoden om dit te realiseren. Ik heb een paar keer mijn architecture aan moeten passen, omdat ik steeds weer meer leerde. Verder moest ik voor 'het weer' scherm weten hoe retrofit werkt. Hier heb ik ook onderzoek naar moeten doen, maar dit viel gelukkig wel mee, en kon ik redelijk snel data uit een API halen en weergeven op het scherm. Toen ik onderzoek deed naar Retrofit, las ik steeds meer over lokale Room databases voor caching. Hier heb ik dan ook onderzoek naar gedaan en toegepast. Ook heb ik veel onderzoek gedaan naar losely coupled code, oftewel dependency injection. Veel artikelen en tutorials gingen direct naar een library om dependency injection te gebruiken, maar ik wil juist weten hoe en waarom iets werkt, en waarom het op een bepaalde manier gedaan moet worden. Om dit te weten te komen heb ik dus onderzoek moeten doen naar manual dependency injection, zonder libraries. Het onderzoek doen, en het uiteindelijk werkend krijgen van dependency injection heeft mij aardig wat tijd geduurt, maar ik heb er wel veel van geleerd. Op het moment wordt er nog meer één locatie opgehaald uit de OpenWeatherAPI en opgeslagen in de lokale database. Ik moet nu dus nog uitzoeken hoe ik een tweede locatie kan ophalen, en deze ook in de database op kan slaan. Verder moet ik 'het weer' scherm nog stylen, een bug fixen wanneer de app wordt gestart in een pauze of test periode, en ik moet nog een scherm toevoegen waarop wordt weergegeven wat er voor het laatst is overgezet van iApp Dev naar Beta naar live.