GitHub клиент за Android, създаден с помощта на MVVM дизайн, реактивно програмиране с LiveData, модел за хранилище, библиотека Persistence Library.
Характеристики: Дозиране, кеширане на резултатите от търсенето и опция за добавяне на отметки.
Кодът е пакетиран по функция. Пакетът с данни съдържа класове модели на местна база данни, уеб услуга и хранилище, което се използва като единствен източник на истината.
UI пакетът съдържа VIEW (Дейности) и VIEW MODEL (AndroidViewModel) код за всеки екран в приложението. VIEW MODEL не съдържат препратки към класовете VIEW или MODEL в пакета с данни, така че кодът е модулен и е лесно да се променят екрани и да се добавят функции.
LiveData се използва за комуникация между слоевете на приложения. Всички промени в слоя MODEL се разпространяват чрез LiveData до VIEW MODEL и след това към слоя VIEW.
В клас Utils има интерфейс за конфигуриране, в който можете да конфигурирате стандартния термин за търсене, резултатите на страница и колко време трябва да се съхраняват в локалния кеш, преди да се опитате да ги актуализирате с нови.
Проверете изходния код на адрес: https://github.com/giantturtle/RepoExplorerMVVM