Penyimpanan Lokal Hive dan NoSQL
Pelajari penggunaan Hive, basis data NoSQL key-value yang cepat untuk Flutter, guna menyimpan objek terstruktur secara lokal tanpa SQL.
Penyimpanan Lokal Hive dan NoSQL adalah pelajaran Flutter Mobile Development gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flutter Mobile Development, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flutter Mobile Development mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Why Hive?
Hive is a lightweight, pure-Dart key-value database. It is great when SQLite feels heavy and SharedPreferences feels too simple.
- Very fast reads and writes
- No native dependencies
- Stores Dart objects directly
Adding Hive
Add the packages to pubspec.yaml: hive, hive_flutter, and dev dependencies hive_generator and build_runner.
dependencies:
hive: ^2.2.3
hive_flutter: ^1.1.0
dev_dependencies:
hive_generator: ^2.0.1
build_runner: ^2.4.0Initializing Hive
Initialize Hive before runApp so the database directory is ready.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Hive.initFlutter();
runApp(const MyApp());
}Boxes
Data lives in a Box — think of it as a typed map persisted to disk. Open one before use.
final box = await Hive.openBox('settings');Reading & Writing
Use put and get like a map. Values survive app restarts.
box.put('darkMode', true);
final isDark = box.get('darkMode', defaultValue: false);Storing Custom Objects
To store your own classes, annotate them with @HiveType and each field with @HiveField.
@HiveType(typeId: 0)
class Note extends HiveObject {
@HiveField(0)
String title;
@HiveField(1)
String body;
Note(this.title, this.body);
}Generating Adapters
Run the code generator to create the type adapter, then register it.
// terminal:
// flutter pub run build_runner build
Hive.registerAdapter(NoteAdapter());Working with a Typed Box
Open a box typed to your class to store and retrieve objects directly.
final notes = await Hive.openBox<Note>('notes');
notes.add(Note('Shopping', 'Milk and eggs'));
final first = notes.getAt(0);Updating & Deleting
Because a HiveObject remembers its box, you can call save and delete on the object itself.
final note = notes.getAt(0)!;
note.title = 'Updated';
note.save();
note.delete();Reactive UI with ValueListenable
Hive boxes expose a listenable, so ValueListenableBuilder rebuilds the UI when data changes.
ValueListenableBuilder(
valueListenable: notes.listenable(),
builder: (context, Box<Note> box, _) {
return Text('Notes: ' + box.length.toString());
},
);Hive vs SQLite
Choose Hive for simple object/key-value storage and speed. Choose SQLite when you need complex relational queries, joins or aggregations.
Quick Check
What must you do before storing a custom class in a Hive box?
Recap
You learned Hive for local NoSQL storage:
- initFlutter and boxes
- put/get key-value access
- Custom objects with generated adapters
- Reactive UI via box listenables
Hive gives you fast, structured persistence without SQL.
Belajar Dart dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 22
- Pelajaran
- 88
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penyimpanan Lokal Hive dan NoSQL” gratis?
Ya — teks lengkap “Penyimpanan Lokal Hive dan NoSQL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flutter Mobile Development, upgrade ke CoddyKit PRO. Kursus Flutter Mobile Development mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penyimpanan Lokal Hive dan NoSQL”?
Pelajari penggunaan Hive, basis data NoSQL key-value yang cepat untuk Flutter, guna menyimpan objek terstruktur secara lokal tanpa SQL. Kamu berlatih Flutter Mobile Development dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Flutter Mobile Development?
Tidak diperlukan pengalaman sebelumnya. Flutter Mobile Development di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Penyimpanan Lokal Hive dan NoSQL” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Flutter Mobile Development ini?
Ya. Setiap pelajaran Flutter Mobile Development menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Shared Preferences untuk Data
- Integrasi Basis Data SQLite
- Operasi Sistem Berkas
- Penyimpanan Lokal Hive dan NoSQL