26.03.2022 / Eğitim / Genel

Android programlama da “veri saklama” yöntemlerinden biri olan “SharedPreferences” kodunun nasıl kullanıldığını gelin beraber görelim.

Android kodlama yaparken bazı verilen kaydedilmesini isteriz. Uygulamamız kapansa dahi kaybolmayan veriler, uygulamamız içerisinde yapacağımız birçok işlemde bize kolaylık sağlayacaktır.

SharedPreferences ile Int, Boolean, Float, Long, String değişkenlerindeki değerleri tutabiliriz. Örneğin yaptığınız bir uygulamada kişinin ismini almanız gerekiyorsa, bunu uygulamanızın her açılışında yapmanız kullanıcıları sıkacak ve uygulamanızı silmelerine sebep olacaktır.

Basit bir örnekle SharedPreferences kullanımına bakalım. Biz kullanıcımızın isim bilgisini alacağız ve uygulama her çalıştığında bu bilgiyi kullanarak işlem yapacağız.

Projenize iki adet TextView ve iki adet Button ekleyiniz. Buttonların onClick olaylarına “save” ve “del” yazınız.

MainActivity içerisinde ilk önce tanımlamalarımızı yapıyoruz. Bunun için aşağıdaki kodları kullanabilirsiniz.

EditText editText;

TextView textView;

SharedPreferences sharedPreferences;

Yukarıdaki tanımlamaları yaptıktan sonra projenizin onCreate olayına aşağıdaki kodları ekleyiniz.

editText=findViewById(R.id.textView2);

textView=findViewById(R.id.textView);

sharedPreferences = this.getSharedPreferences("com.gokhangurleyen.yaskaydetme", Context.MODE_PRIVATE);

int kaydedilenYas= sharedPreferences.getInt("kaydedilenYas",0);

textView.setText("Yaşınız: " + kaydedilenYas);

Burada getSharedPreferences olayı içerisinde kendi proje adınızı yazmanız gerekiyor. Ardından “save” ve “del” olaylarımızı yazalım.

public void save(View view)

    {

        if (!editText.getText().toString().matches("")){

            int age = Integer.parseInt(editText.getText().toString());

            textView.setText("Your Age " + age);

 

            sharedPreferences.edit().putInt("kaydedilenYas",age).apply();

        }

    }

 

    public void del(View view){

        int girilenYas=sharedPreferences.getInt("kaydedilenYas",0)

        if (girilenYas != 0) {

            sharedPreferences.edit().remove("kaydedilenYas").apply();

            textView.setText("Your View");

        }

    }

SharedPreferences ile kullanıcıdan aldığınız veriyi kaydedebilirsiniz. Bu veriyi düzenlemek için ekstra bir kod yazmanıza gerek yok. Kullanıcı belirtilen değişkene en son hangi veriyi kaydederse SharedPreferences o veriyi size getirecektir.