GitHub client per Android costruito utilizzando pattern di progettazione MVVM, programmazione reattiva con LiveData, pattern di repository, Room Persistence Library.
Caratteristiche: impaginazione, memorizzazione nella cache dei risultati di ricerca e opzione per aggiungere segnalibri.
Il codice è confezionato per caratteristica. Il pacchetto dati contiene classi di modelli di database locali, servizi Web e repository che vengono utilizzati come un'unica fonte di verità.
Il pacchetto UI contiene il codice VIEW (Attività) e VIEW MODEL (AndroidViewModel) per ogni schermata nell'app. VISUALIZZA MODELLO non contiene alcun riferimento alle classi VISUALIZZA o MODELLO nel pacchetto dati in modo che il codice sia modulare ed è facile cambiare le schermate e aggiungere funzionalità.
LiveData è usato per comunicare tra livelli di app. Qualsiasi modifica nel livello MODELLO viene propagata tramite LiveData a VIEW MODEL e quindi al livello VIEW.
Nella classe Utils è presente l'interfaccia Configuretion in cui è possibile configurare il termine di ricerca predefinito, i risultati per pagina e per quanto tempo i risultati devono essere conservati nella cache locale, prima di provare ad aggiornarli con nuovi.
Controlla il codice sorgente all'indirizzo: https://github.com/giantturtle/RepoExplorerMVVM