Pembangunan Aplikasi Mudah Alih Flutter · Pelajaran

Hive dan Storan Setempat NoSQL

Pelajari cara menggunakan Hive, pangkalan data NoSQL nilai-kunci yang pantas untuk Flutter, bagi menyimpan objek berstruktur secara setempat tanpa SQL.

Pelajaran 4 daripada 413 langkah

Hive dan Storan Setempat NoSQL ialah pelajaran Pembangunan Aplikasi Mudah Alih Flutter percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pembangunan Aplikasi Mudah Alih Flutter, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pembangunan Aplikasi Mudah Alih Flutter merangkumi sejumlah 4 pelajaran.

Mengapa Hive?

Hive ialah pangkalan data pasangan kunci-nilai yang ringan dan sepenuhnya berasaskan Dart. Ia sesuai apabila SQLite terasa terlalu berat dan SharedPreferences terasa terlalu ringkas.

  • Pembacaan dan penulisan yang sangat pantas
  • Tiada kebergantungan natif
  • Menyimpan objek Dart secara terus

Menambah Hive

Tambah pakej berikut kepada pubspec.yaml: hive, hive_flutter, serta kebergantungan pembangunan hive_generator dan build_runner.

dependencies:
  hive: ^2.2.3
  hive_flutter: ^1.1.0
dev_dependencies:
  hive_generator: ^2.0.1
  build_runner: ^2.4.0

Memulakan Hive

Mulakan Hive sebelum runApp supaya direktori pangkalan data tersedia.

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Hive.initFlutter();
  runApp(const MyApp());
}

Kotak

Data disimpan dalam Box — anggaplah ia sebagai peta bertip yang disimpan pada cakera. Buka kotak sebelum menggunakannya.

final box = await Hive.openBox('settings');

Membaca dan Menulis

Gunakan put dan get seperti peta. Nilai kekal selepas aplikasi dimulakan semula.

box.put('darkMode', true);
final isDark = box.get('darkMode', defaultValue: false);

Menyimpan Objek Tersuai

Untuk menyimpan kelas anda sendiri, buat anotasi pada kelas tersebut dengan @HiveType dan pada setiap medan dengan @HiveField.

@HiveType(typeId: 0)
class Note extends HiveObject {
  @HiveField(0)
  String title;
  @HiveField(1)
  String body;
  Note(this.title, this.body);
}

Menjana Penyesuai

Jalankan penjana kod untuk mencipta penyesuai jenis, kemudian daftarkannya.

// terminal:
// flutter pub run build_runner build

Hive.registerAdapter(NoteAdapter());

Bekerja dengan Kotak Bertip

Buka kotak yang ditipkan kepada kelas anda untuk menyimpan dan mendapatkan semula objek secara terus.

final notes = await Hive.openBox<Note>('notes');
notes.add(Note('Shopping', 'Milk and eggs'));
final first = notes.getAt(0);

Mengemas Kini dan Memadam

Oleh sebab HiveObject mengingati kotaknya, anda boleh memanggil save dan delete pada objek itu sendiri.

final note = notes.getAt(0)!;
note.title = 'Updated';
note.save();
note.delete();

UI Reaktif dengan ValueListenable

Kotak Hive mendedahkan pendengar, jadi ValueListenableBuilder membina semula UI apabila data berubah.

ValueListenableBuilder(
  valueListenable: notes.listenable(),
  builder: (context, Box<Note> box, _) {
    return Text('Notes: ' + box.length.toString());
  },
);

Hive berbanding SQLite

Pilih Hive untuk storan objek/pasangan kunci-nilai yang ringkas dan pantas. Pilih SQLite apabila anda memerlukan pertanyaan hubungan yang kompleks, cantuman atau pengagregatan.

Semakan Pantas

Apakah yang mesti anda lakukan sebelum menyimpan kelas tersuai dalam kotak Hive?

Imbas Kembali

Anda telah mempelajari Hive untuk storan NoSQL setempat:

  • initFlutter dan kotak
  • Akses pasangan kunci-nilai dengan put/get
  • Objek tersuai dengan penyesuai yang dijana
  • UI reaktif melalui pendengar kotak

Hive memberikan storan berstruktur yang pantas tanpa SQL.

Percuma untuk bermula

Pelajari Dart dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
22
Pelajaran
88

Soalan Lazim

Adakah pelajaran “Hive dan Storan Setempat NoSQL” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pembangunan Aplikasi Mudah Alih Flutter, termasuk “Hive dan Storan Setempat NoSQL”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pembangunan Aplikasi Mudah Alih Flutter merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Hive dan Storan Setempat NoSQL”?

Pelajari cara menggunakan Hive, pangkalan data NoSQL nilai-kunci yang pantas untuk Flutter, bagi menyimpan objek berstruktur secara setempat tanpa SQL. Anda berlatih Pembangunan Aplikasi Mudah Alih Flutter menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pembangunan Aplikasi Mudah Alih Flutter?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pembangunan Aplikasi Mudah Alih Flutter di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Hive dan Storan Setempat NoSQL” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pembangunan Aplikasi Mudah Alih Flutter ini?

Ya. Setiap pelajaran Pembangunan Aplikasi Mudah Alih Flutter menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Shared Preferences untuk Data
  2. Integrasi Pangkalan Data SQLite
  3. Operasi Sistem Fail
  4. Hive dan Storan Setempat NoSQL
← Kembali ke Pembangunan Aplikasi Mudah Alih Flutter