📄️ DataStore, schema và lỗi lưu trữ
DataStore phù hợp dữ liệu cấu hình nhỏ dưới dạng Preferences hoặc typed data qua Serializer. Typed DataStore không chỉ giới hạn ở Protocol Buffers: định dạng phụ thuộc Serializer, ví dụ Proto hoặc JSON theo setup được hỗ trợ. Với query quan hệ, partial update phức tạp hoặc dataset lớn, cân nhắc Room.
📄️ Offline-first & đồng bộ
Nguồn dữ liệu thống nhất
📄️ Paging 3
The Paging library helps you load and display pages of data from a larger dataset from local storage or over a network. It drastically reduces network usage and system memory consumption.
📄️ Retrofit, lỗi mạng và authentication
Retrofit ánh xạ interface/annotation thành lời gọi HTTP, dùng HTTP client và converter cho transport/serialization. Ở level Senior, câu hỏi quan trọng là contract trả về gì, lỗi nào retry được, request có thuộc account hiện tại không và dữ liệu nhạy cảm đi đâu.
📄️ Room Database
Room là một thư viện lưu trữ dữ liệu cung cấp một lớp trừu tượng bên trên SQLite, giúp truy cập cơ sở dữ liệu một cách linh hoạt đồng thời vẫn tận dụng toàn bộ sức mạnh của SQLite.