مشتری GitHub برای آندروید ساخته شده با استفاده از الگوی طراحی MVVM، برنامه نویسی واکنشی با LiveData، الگوی مخزن، Library Persistence Library.
ویژگی ها: صفحه بندی، ذخیره نتایج جستجو و گزینه برای اضافه کردن بوک مارک ها.
کد از ویژگی های بسته بندی شده است. بسته های داده شامل کلاس های مدل پایگاه داده محلی، سرویس وب و مخزن است که به عنوان یک منبع از حقیقت استفاده می شود.
بسته ی UI شامل VIEW (فعالیت ها) و VIEW MODEL (AndroidViewModel) کد برای هر صفحه در برنامه است. VIEW MODEL هیچ اشاره ای به کلاس VIEW یا MODEL در بسته داده ای ندارد، بنابراین کد مدولار است و تغییر صفحه ها و افزودن ویژگی ها آسان است.
LiveData برای ارتباط بین لایه های برنامه استفاده می شود. هر تغییری در لایه MODEL از طریق LiveData به VIEW MODEL و سپس به لایه VIEW پخش می شود.
در کلاس Utils، رابط Configuretion وجود دارد که در آن می توانید قبل از تلاش برای به روز رسانی با موارد جدید، می توانید عبارت جستجو پیش فرض را پیکربندی کنید، نتایج در هر صفحه و مدت زمان نگهداری نتایج در حافظه داخلی.
کد منبع را چک کنید: https://github.com/giantturtle/RepoExplorerMVVM