Ứng dụng GitHub dành cho Android được xây dựng bằng mẫu thiết kế MVVM, lập trình phản ứng với LiveData, mẫu kho lưu trữ, Thư viện Persistence Room.
Các tính năng: Phân trang, lưu trữ kết quả tìm kiếm và tùy chọn để thêm dấu trang.
Mã được đóng gói theo tính năng. Gói dữ liệu chứa các lớp mô hình cơ sở dữ liệu cục bộ, dịch vụ web và kho lưu trữ được sử dụng như một nguồn chân lý duy nhất.
Gói giao diện người dùng chứa mã VIEW (Hoạt động) và VIEW MODEL (AndroidViewModel) cho mỗi màn hình trong ứng dụng. VIEW MODEL không giữ bất kỳ tham chiếu nào đến VIEW hoặc các lớp MODEL trong gói dữ liệu để mã là mô-đun và rất dễ dàng để thay đổi màn hình và thêm các tính năng.
LiveData được sử dụng để giao tiếp giữa các lớp ứng dụng. Bất kỳ thay đổi nào trong lớp MODEL đều được truyền qua LiveData đến VIEW MODEL và sau đó đến lớp VIEW.
Trong lớp Utils có giao diện Configuretion trong đó bạn có thể cấu hình các thuật ngữ tìm kiếm mặc định, kết quả trên mỗi trang và kết quả lưu giữ trong bộ nhớ cache cục bộ trong bao lâu, trước khi cố gắng cập nhật với những cái mới.
Kiểm tra mã nguồn tại: https://github.com/giantturtle/RepoExplorerMVVM
Added feature to add or delete bookmarks from project details screen, not just from projects list screens (depending on screen user comes from).