GitHub kliens az androidra, melyet MVVM tervezési mintával, reaktív programozással a LiveData, repository minta, Room Persistence Library segítségével készítettek.
Jellemzők: Oldalbeállítás, gyorsítótárazási keresési eredmények és könyvjelzők hozzáadása.
A kódot a funkciók csomagolják. Az adatcsomag helyi adatbázis modellosztályokat, webszolgáltatásokat és adattárházakat tartalmaz, amelyeket az igazság egyetlen forrásaként használnak.
Az UI csomag tartalmazza az alkalmazás minden képernyőjére vonatkozó VIEW (Activities) és VIEW MODEL (AndroidViewModel) kódot. A MODELL NÉZET nincs hivatkozva a VIEW vagy a MODEL osztályokra az adatcsomagban, így a kód moduláris, és könnyen megváltoztatható a képernyők és funkciók hozzáadása.
A LiveData az alkalmazásrétegek közötti kommunikációra szolgál. A MODEL réteg bármilyen változását a LiveData-n keresztül a VIEW MODEL-ra, majd a VIEW rétegre továbbítják.
A Utils osztályban van egy konfigurációs felület, amelyben beállíthatja az alapértelmezett keresési kifejezést, az oldalankénti eredményeket és azt, hogy mennyi ideig kell az eredményeket megőrizni a helyi gyorsítótárban, mielőtt újakat próbálna frissíteni.
Tekintse meg a forráskódot: https://github.com/giantturtle/RepoExplorerMVVM