Android Veri Kaydetme

Bu yazıda anlatacağım teknik küçük verileri kaydetmek için kullanılan bir tekniktir. Bir kaç adet datayı saklamak için geçerli bir yöntem. Basit olmasına karşın bir çok uygulamada işinize yarayacak bir teknik. Basitçe anlatmak gerekirse bir program yaptık ve kullanıcını bazı arayüz tercihi vs. gibi kayıtları bir yerde tutmamız gerekiyorsa o zaman bu tekniği kullanabiliriz.

SharedPreferences tekniği ile android programlarımızda birkaç adet olan verileri kaydedebiliriz.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SharedPreferences sharedPreferences = this.getSharedPreferences("com.uguroksuz.verikaydetme", Context.MODE_PRIVATE);
        // mode_private bu obejeyi bu uygulama içerisinde kullanabliriz başka hiç bir uygulama bu objeye erişemez anlamında.
       
       
        int age = 30;
        
        //sharedPreferences nesnesi ile yaş değişkenini kaydediyoruz.
        sharedPreferences.edit().putInt("userAge", age).apply();

        //Kaydettiğimiz değeri savedAge değişkenine aktarıp ekrana yazdırıyoruz.
        int savedAge = sharedPreferences.getInt("userAge",0);
        System.out.println("Kaydedilen değer = "+savedAge);

    }
}

SharedPreferences sharedPreferences = this.getSharedPreferences(“com.uguroksuz.verikaydetme”, Context.MODE_PRIVATE);
Bu satırda androidin bizim için hazırladığı teknikle nesnemizi oluşturuyoruz.

sharedPreferences nesnemize .edit() metodu ile düzenlemeye açıp .putIn() metodu ile nesnemize kaydedeceğimiz değişkeni  koyuyoruz.
putIn() bizden iki değer istiyor, ilk değer “userAge” yazdığım kaydedeceğim değişkenin yada değerin anahtarı(key) ikinci değer ise kaydetmek istediğim değişken. Burada “userAge” yerine istediğiniz herhangi bir şey yazabilirsiniz, bu kaydettiğimiz değere daha sonra erişmek üzere verdiğimiz bir isimdir aslında.

Sonraki adımda savedAge  adında bir değişken oluşturup bu değişkene getInt() metodu ile sharedPreferences nesnesindeki değeri bulup atadım.
getInt() metodu yine iki değer istedi bunlardan ilki “userAge” biraz önce veri kaydederken verdiğim key, yani bana bu etikete sahip veriyi bul dedim. İkinci olarak verdiğim sıfır değeri ise bu etikete ait bir veri bulunamazsa sıfır değeri ver dedim.

Kaydettiğimiz Veriyi Güncellemek

Aynı etikete “userAge” sahip bir değeri putIn() ile yeniden gönderdiğimde var olanı güncelleyecek.

//veriyi güncellemek için "userAge" etiketine sahip yeni değer veriyi güncelleyecekdir.
age = 35;
sharedPreferences.edit().putInt("userAge", age).apply();

Bundan sonra kaydettiğimiz değer 35 oldu.

Kaydettiğimiz Veriyi Silmek

//Veriyi silmek için
sharedPreferences.edit().remove("userAge").apply();

Bu sefer veriyi silebilmek içn .remove() metodundan faydalandık ve içerisinde silinecek verinin key değerini belirttik “userAge”.

NOT: Büyük ve fazla sayıdaki verileri saklamak için bu yöntem uygun değildir  daha büyük verilerle nasıl çalışacağımız başka bir yazı konusu.

Leave a Comment

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.