Site icon Mobilhanem

SharedPreferences ile Nesne Kaydetme

Merhabalar,

Çok fazla boyut kaplamayan verileri kaydetmek için SharedPreferences yapısını kullanırız. Bu yapı ile birlikte , uygulama kapatılsa bile verilerin silinmesi önlenir. Genel yapısına bakarsak eğer, veriler xml dosyası oluşturularak, anahtar – değer (key- value) mantığı ile saklanır. Şimdi sizlere bir sınıftan türettiğimiz bir nesneyi SharedPreferences yapısı ile nasıl saklayabileceğimizi ve sakladığımız veriyi nasıl kullanabileceğimizi göstereceğim.

public class Ogrenci {

    private String isim;
    private String soyad;
    private int numara;

    public Ogrenci(String isim,String soyad, int numara)
    {
        this.isim= isim;
        this.soyad= soyad;
        this.numara = numara;
    }
}

Ogrenci adında sınıfımızı yarattıktan sonra o sınıftan türettiğimiz ogrenci_nesne adını veridğimiz bir nesne türettik.

Ogrenci ogrenci_nesne = new Ogrenci("Alper","Beyler",999);

Şimdi ise o nesneyi SharedPreferences ile nasıl kaydederiz ona bakalım, Gson kütüphanesi kullanarak nesnemizi String e dönüştürüp, kaydettik ve en son olarak commit etmeyi unutmadık yoksa veriler asla kaydedilmez.

SharedPreferences shared_preferences = getSharedPreferences("dosya_adi",MODE_PRIVATE);

SharedPreferences.Editor editor = shared_preferences.edit();

Gson gson = new Gson();
String json = gson.toJson(ogrenci_nesne);
editor.putString("key", json);
editor.commit();

Şimdi de kaydettiğimiz nesneyi geri çağırıp nasıl kullanacağımıza bakalım , dosyamızı aynı anahtar değeri ile açıyoruz daha sonra kaydederken anahtar değer olarak belirttiğimiz “key” ismini aynı şekilde burda da belirtiyoruz, dönen String değerini yine Gson yardımı ile aşağıda görüldüğü gibi Ogrenci nesnesine dönüştürüyoruz. Böylece, kaydetmiş olduğumuz nesneyi geri alarak istediğimiz şekilde kullanabiliriz.

SharedPreferences shared_preferences = getSharedPreferences("dosya_adi",MODE_PRIVATE);

 Gson gson = new Gson();
 String json = shared_preferences.getString("key", "");
 Ogrenci ogrenci_nesne = gson.fromJson(json, Ogrenci.class);

Not: Gson ile Json Parse dersimiz için tıklayınız

Not: Android Studio ya Gson Kütüphanesi ekleme dersimiz için tıklayınız

4
Exit mobile version