Flutter

Flutter Sharedpreferences Kullanımı

Herkese merhaba, Flutter yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda SharedPreferences paketini anlatacağım. Hadi başlayalım !

İşe öncelikle, Flutter’ın shared_preferences paketini yükleyerek başlayalım. Bu paket, uygulama içinde veri depolamak için kullanılan basit bir anahtar-değer deposudur.

SharedPreferences Nesnesi Oluşturma

Paketi yükledikten sonra, öncelikle SharedPreferences objesini oluşturmalıyız. Bu objeyi initState() metodu içinde tanımlayacağız, böylece uygulama her başlatıldığında obje tekrar oluşturulmaz.

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  SharedPreferences _prefs;

  @override
  void initState() {
    super.initState();
    _initPrefs();
  }

  void _initPrefs() async {
    _prefs = await SharedPreferences.getInstance();
  }

  // Widgetler burada olacak

}

_initPrefs() metodu, SharedPreferences objesini oluşturmak için getInstance() metodu kullanır. Bu metodu async-await yapısıyla kullanarak, metot çalışırken uygulamanın donmamasını sağlıyoruz.

Veri Depolama ve Okuma

Şimdi, SharedPreferences objesini kullanarak veri depolayabilir ve okuyabiliriz.

void _saveData() {
  _prefs.setString('username', 'John Doe');
}

String _loadData() {
  return _prefs.getString('username') ?? 'No user found';
}

Yukarıdaki örnekte, _saveData() metodu ‘username’ anahtarını kullanarak bir string değerini depolar. _loadData() metodu ise ‘username’ anahtarını kullanarak depolanan değeri döndürür. Ancak, eğer ‘username’ anahtarına kaydedilen bir değer yoksa, varsayılan olarak ‘No user found’ stringi döndürülür. Bu durumda, ?? işareti null-check işlemi yapar ve değer null ise varsayılan değeri döndürür.

Farklı Veritiplerini Depolama ve Okuma

SharedPreferences objesi ayrıca farklı veri tipleri de depolayabilir. Örneğin, int, double, bool ve stringList veri tipleri depolanabilir. Bu veri tiplerini depolamak için aşağıdaki kod örneklerini kullanabilirsiniz:

void _saveInt() {
  _prefs.setInt('age', 25);
}

int _loadInt() {
  return _prefs.getInt('age') ?? 0;
}

void _saveDouble() {
  _prefs.setDouble('weight', 70.5);
}

double _loadDouble() {
  return _prefs.getDouble('weight') ?? 0.0;
}

void _saveBool() {
  _prefs.setBool('isLoggedIn', true);
}

bool _loadBool() {
  return _prefs.getBool('isLoggedIn') ?? false;
}

void _saveList() {
  List<String> hobbies = ['reading', 'writing', 'coding'];
  _prefs.setStringList('hobbies', hobbies);
}

List<String> _loadList() {
  return _prefs.getStringList('hobbies') ?? [];
}

Yukarıdaki örneklerde, farklı veri tipleri depolanır ve yüklendiği metotlar kullanılarak geri çağrılır.

Sonuç

Sonuç olarak, SharedPreferences paketi Flutter uygulamalarında kullanımı kolay bir veri depolama yöntemidir. Basit anahtar-değer çiftleri depolanabilir ve farklı veri tipleri için uygun fonksiyonlar mevcuttur. Bu sayede, uygulama verileri kolayca depolanabilir ve okunabilir.

Evet SharedPreferences paketi bu şekilde olmakta. Tüm Flutter yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

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

Başa dön tuşu