Flutter Hive Kullanımı : Hızlı ve Basit Veritabanı İşlemleri

Posted by

Flutter, popüler ve etkileyici bir çerçeve olması nedeniyle mobil uygulama geliştirmenin önde gelen seçeneklerinden biridir. Mobil uygulamaların verilerini yerel olarak saklamak ve yönetmek önemli bir ihtiyaçtır. Bu noktada Hive, Flutter için hızlı ve kolay bir veritabanı çözümü sunar. Hive, SQLite gibi diğer veritabanlarından daha hızlı çalışır ve düşük boyutu sayesinde performansı arttırır. Bu yazıda, Flutter Hive kullanımı nı adım adım anlatacağız ve örneklerle konuyu pekiştireceğiz.

flutter hive kullanımı

Adım 1 : Proje Ayarları

Flutter Hive Kullanımı için öncelikle Proje Ayarları ve Hive Kurulumu Hive’ı kullanmaya başlamak gerekiyor. Flutter projesinde gerekli ayarlamaları yapmak için pubspec.yaml dosyasına giderek, Hive paketini projeye ekleyelim ve bağımlılıkları yükleyelim. Ayrıca Paketi buradan inceleyebilirsiniz.:

dependencies:
  flutter:
    sdk: flutter
  hive: ^2.0.0

Paketleri güncellemek için terminalde flutter pub get komutunu çalıştırın.

Adım 2 : Hive Yapulandırması

Hive Yapılandırması Hive kullanmaya başlamadan önce, uygulama başlatıcısında Hive’ı yapılandırmamız gerekiyor. main.dart dosyasında aşağıdaki gibi yapılandıralım:

import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart' as path_provider;

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final appDocumentDir = await path_provider.getApplicationDocumentsDirectory();
  Hive.init(appDocumentDir.path);
  runApp(MyApp());
}

Adım 3 : Hive Veri Modelleri

Veri Modelini Tanımlama Hive, verileri sınıflara serileştirerek saklar. Bu nedenle, veri modelini tanımlamamız gerekmektedir. Örnek olarak, bir kullanıcı modeli tanımlayalım:

import 'package:hive/hive.dart';

part 'user_model.g.dart';

@HiveType(typeId: 0)
class UserModel extends HiveObject {
  @HiveField(0)
  late String name;

  @HiveField(1)
  late int age;
}

Adım 4 : Hive Ve Kutular

Verileri Kutularla Yönetme Hive’da veriler kutular içinde saklanır. Kutular, verileri depolamak için kullanılan koleksiyonlardır. Veri eklemek, güncellemek, silmek ve listelemek için kutuları kullanabiliriz. Örnek olarak, kullanıcıları saklayacak bir kutu oluşturalım ve kullanıcı ekleyelim:

void main() async {
  // ... Diğer kodlar ...

  await Hive.openBox<UserModel>('users');

  runApp(MyApp());
}
void addUser(String name, int age) {
  final userBox = Hive.box<UserModel>('users');
  final user = UserModel()
    ..name = name
    ..age = age;
  
  userBox.add(user);
}

Adım 5 : Hive Veri Okuma Ve Güncelleme

Verileri Okuma ve Güncelleme Eklediğimiz verileri nasıl okuyacağımızı ve güncelleyeceğimizi görelim:

void readUser(int index) {
  final userBox = Hive.box<UserModel>('users');
  final user = userBox.getAt(index);
  print('Name: ${user.name}, Age: ${user.age}');
}
void updateUser(int index, String newName) {
  final userBox = Hive.box<UserModel>('users');
  final user = userBox.getAt(index);
  user.name = newName;
  user.save();
}

Adım 6 : Hive Veri Silme

Veri Silme Verileri silmek de oldukça kolaydır:

void deleteUser(int index) {
  final userBox = Hive.box<UserModel>('users');
  userBox.deleteAt(index);
}

Adım 7 : Hive Kapatma

Hive Kapatma Uygulama kapatıldığında, Hive’ı kapatmayı unutmamalıyız:

void closeHiveBox() async {
  await Hive.close();
}

Artık Flutter uygulamanızda Hive kullanarak verileri hızlı ve kolay bir şekilde saklayabilir, güncelleyebilir, silebilir ve listeyebilirsiniz. Bu sebeple Hive’ın hızı ve basitliği, uygulamanızın performansını önemli ölçüde artıracaktır. Geliştirdiğiniz uygulamalarda Hive’ı gönül rahatlığıyla tercih edebilirsiniz.


Bu yazıda, Flutter Hive kullanımı nı adım adım ele aldık. Hive’ın veritabanı işlemleri için ne kadar hızlı ve kolay bir çözüm sunduğunu gördük. Örneklerle konuyu destekleyerek, Hive’ın kullanımının ne kadar basit olduğunu açıklamaya çalıştık. Umarım bu yazı, Flutter geliştiricilerine Hive ile veritabanı işlemleri yaparken yardımcı olur!

Daha fazla flutter ile ilgili blog yazılarımıza buradan ulaşabilirsiniz.

İlginizi Çekebilir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir