Klient GitHub dla Androida zbudowany przy użyciu wzorca projektowego MVVM, programowania reaktywnego z LiveData, wzorca repozytorium, biblioteki trwałości pokoju.
Funkcje: paginacja, buforowanie wyników wyszukiwania i opcja dodawania zakładek.
Kod jest spakowany według funkcji. Pakiet danych zawiera lokalne klasy modeli baz danych, usługi sieciowe i repozytorium, które są używane jako jedno źródło prawdy.
Pakiet UI zawiera VIEW (Działania) i kod VIEW MODEL (AndroidViewModel) dla każdego ekranu w aplikacji. VIEW MODEL nie zawiera żadnych odwołań do klas VIEW lub MODEL w pakiecie danych, więc kod jest modułowy i łatwo jest zmienić ekrany i dodać funkcje.
LiveData służy do komunikacji pomiędzy warstwami aplikacji. Wszelkie zmiany w warstwie MODEL są propagowane za pośrednictwem LiveData do VIEW MODEL, a następnie do warstwy VIEW.
W klasie Utils dostępny jest interfejs Configuretion, w którym można skonfigurować domyślne wyszukiwane hasło, wyniki na stronę oraz czas przechowywania wyników w lokalnej pamięci podręcznej, przed aktualizacją nowymi.
Sprawdź kod źródłowy na: https://github.com/giantturtle/RepoExplorerMVVM