GitHub-client voor Android gebouwd met MVVM-ontwerppatroon, reactief programmeren met LiveData, repository-patroon, Room Persistence Library.
Kenmerken: paginering, caching zoekresultaten en optie om bladwijzers toe te voegen.
Code is per functie verpakt. Datapakket bevat lokale databasemodelklassen, webservice en repository die als een enkele bron van waarheid wordt gebruikt.
UI-pakket bevat VIEW (activiteiten) en VIEW MODEL (AndroidViewModel) code voor elk scherm in de app. VIEW MODEL bevat geen verwijzingen naar de VIEW- of de MODEL-klassen in het datapakket, dus de code is modulair en het is gemakkelijk om de schermen te wijzigen en functies toe te voegen.
LiveData wordt gebruikt om te communiceren tussen app-lagen. Alle wijzigingen in de MODEL-laag worden gepropageerd via LiveData naar VIEW MODEL en vervolgens naar de VIEW-laag.
In de klasse Utils is er een interface Configuratie waarin u de standaardzoekterm, resultaten per pagina en hoelang de resultaten in de lokale cache moeten worden bewaard, kunt instellen voordat u met nieuwe probeert bij te werken.
Bekijk de broncode op: https://github.com/giantturtle/RepoExplorerMVVM