Ứng dụng thường cần lưu trữ dữ liệu cục bộ trên thiết bị — tùy chọn người dùng, dữ liệu cache, nội dung offline. Flutter cung cấp nhiều lựa chọn — shared_preferences (key-value), SQLite (quan hệ), và những thứ khác — mỗi cái phù hợp với các nhu cầu khác nhau.
Các lựa chọn lưu trữ cục bộ
SHARED_PREFERENCES → lưu trữ KEY-VALUE đơn giản (cài đặt, cờ, dữ liệu nhỏ):
→ lưu các kiểu nguyên thủy (string, int, bool) — như một map bền vững đơn giản
→ cho: tùy chọn người dùng, token, cờ đơn giản (KHÔNG cho dữ liệu lớn/có cấu trúc)
SQLITE (sqflite) → một DATABASE quan hệ đầy đủ trên thiết bị:
→ bảng, truy vấn SQL — cho dữ liệu CÓ CẤU TRÚC, lớn hơn; truy vấn phức tạp; quan hệ
HIVE / ISAR → các database NoSQL cục bộ nhanh (key-value/object store) — phổ biến, nhanh,
Dart-native (không SQL); tốt cho dữ liệu cục bộ có cấu trúc
FILE storage → đọc/ghi file trực tiếp (path_provider cho các thư mục)
SECURE storage → flutter_secure_storage cho dữ liệu NHẠY CẢM (token, thông tin đăng nhập) —
được mã hóa (keychain/keystore)
