Android Studio programında yapılacak işlemlerin bir arada toplanması için sınıflar oluşturabilirsiniz. Bu uygulamamızda SharedPreferences veri saklama işlemini gerçekleştirmek amacıyla bir sınıf oluşturacağız. Bu sınıfta kaydetme, silme, kaldırma ve alma işlemlerine ait metodlar tanımlı olacaktır.
Projede sınıf oluşturmak için java klasöründe farenin sağ tuşuna basalım. Ekrana glen içerik menüsünde Java Class komutunu seçelim. Sınıfın adını SharedPreferenc olarak verelim. SharedPreferences isminde bir sınıf java programında olduğu için hataya sebebiyet vermemek için böyle bir isim kullandım. Daha sonra Class diyerek sınıfımızı oluşturalım.
package com.example.sharedpreferenceskullanimi;
public class SharedPreferenc {
}
Öncelikle sınıfımızda girilen bilginin kaydedilmesi için bir dosya ve bir de key değeri oluşturalım.
static final String PREF_NAME = "Dosya";
static final String PREF_KEY = "Key";
Şimdi girilen bilginin kaydedilmesi için save isminde bir metod oluşturalım.
package com.example.sharedpreferenceskullanimi;
import android.content.Context;
import android.content.SharedPreferences;
public class SharedPreferenc {
static final String PREF_NAME = "Dosya";
static final String PREF_KEY = "Key";
public void save(Context context, String text) {
SharedPreferences settings =
context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_KEY, text);
editor.commit();
}
}
Şimdi kaydedilen değeri almak için getValue metodunu oluşturalım.
public String getValue(Context context) {
SharedPreferences settings =
context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
String text = settings.getString(PREF_KEY, null);
return text;
}
Şimdi sharedpreferences içindeki değeri temizlemek için clear isminde bir metot tanımlayalım.
public void clear(Context context) {
SharedPreferences settings =
context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
}
Ve son olarak değeri tamamen kaldırmak için remove isminde bir metot oluşturalım.
public void remove(Context context) {
SharedPreferences settings =
context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove(PREF_KEY);
editor.commit();
}
Böylece sınıfımızı tanımlamış olduk. Burada string tipinde bir değeri kaydetme işlemini sharedpreferences mantığıyla nasıl yapıldığını metotlar yardımıyla gerçekleştirdik.