Android SQLite Kullanımı

Aysel Aydin
3 min readMar 11, 2020

--

Merhaba arkadaşlar, bir önceki yazımızda Android’te 5 farklı veri saklama yollarından biri olan Shared Preferences’ı ele almıştık. Buradan inceleyebilirsiniz. Bugün de veri saklama yöntemlerinden bir diğeri olan SQLite’ı ele alıyor olacağız.

Android uygulamalarımızda local olarak veritabanı ihtiyacını karşılamak için SQLite’ı kullanırız. SQLite bir panele ya da sunucu tarafına ihtiyaç duymadan çalışan bir veritabanıdır. Projeniz için saklayacağınız verilerin boyutları yüksek ise ya da zamanla artan bir veri ise kullanımı önerilmez. Mobil dünyada, işlem başına bellek ve toplam bellek kullanımı, masaüstü ve web sistemlerine kıyasla sınırlıdır. Bu yüzden SQLite uygulamanızın bellek tüketimine çok fazla yük eklememelidir.

Diğer sunucu tipi veritabanlarıyla karşılaştırıldığında, SQLite’da;

  • View ve trigger desteği vardır.
  • Geçici tablolar oluşturulabilir.
  • Diğer veritabanlarına göre desteklediği veri türü sınırlıdır. (Boolean, DateTime, Money, XML gibi veri tiplerini desteklemez.)
  • Desteklenen veri tipleri: Integer, null, blob, text ve real
  • Bir panele ya da sunucu tarafına ihtiyaç duymadan çalışabilir.

SQLite için kullanacağımız sınıflar

  • SQLiteOpenHelper: Veritabanı erişimi için yazılacak olan sınıfımızda miras alınarak kullanılır. Tabloların yaratılması ya da şematik değişiklikler bu sınıflar ile gerçekleştirilir.
  • SQLiteDatabase: CRUD(Create, Read, Update ve Delete) işlemlerini barındıran sınıf
  • ContentValues: Parametre değerlerimizi oluştururken kullanacağımız sınıf
  • Cursor: Veritabanımızdan çektiğimiz kayıtlar üzerinde çalışmamızı sağlar

Şimdi SQLite kullanımı için öncelikle DatabaseHelper.java isminde bir class oluşturalım. Veritabanıyla alakalı tüm işlemlerimizi bu class üzerinden yapacağız.

DatabaseHelper class’ımız

DatabaseHelper class’ımızı SQLiteOpenHelper sınıfından extends ediyoruz. Bu sayede veri tabanlarının temel işlemleri olan CRUD(Create, Read, Update, Delete) işlemlerini yapmamızı sağlayacaktır. Bu işlem sonrasında 2 adet implement etmemiz gereken method olacaktır.

  • onCreate(): fonksiyonu uygulama yüklendiğinde sadece bir kere çağrılmaktadır. Bu metod ile uygulamada kullanılacak veritabanı ve bu veri tabanında kullanılacak olan tablolar oluşturulur.
  • onUpdate: Tablolarda herhangi bir güncelleme işlemi gerektiğinde kullanılır. Herhangi bir güncelleme işlemi olup olmadığına DATABASE_VERSION bilgisine bakılır. Tabloda herhangi bir değişiklik durumunda bu numaranın yükseltilmesi yeterli olacaktır.
DatabaseHelper classı

TablesInfo class’ında oluşturmak istediğiniz tablo ve ona ait sütunları tanımlayınız.

Notlarımızı tutacağımız tablomuzu oluşturduk. Şimdi de şu şekilde bir layout hazırlayalım ve işlemlerimize başlayalım.

Notlarımızı kaydetmek için bir EditText, Sqlite işlemlerimizi yapabilmek için 4 Button ve son olarak kaydedilen notları gösterebilmek için bir adet RecyclerView ekleyelim.

Tasarımımızı hazırladığımıza göre ekleme, silme, listeleme ve güncelleme işlemlerimize başlayalım. Öncelikle DataBaseHelper class’ımıza bu işlemler için gerekli metodlarımızı yazalım.

Veritabanı işlemlerimizi yapacağımız DataBaseHelper class’ımızın son hali

Yazdığımız bu metodların MainActivity üzerinden kullanımına bakalım şimdi de.

Yukarıda yazdığımız metodlarda da görüldüğü gibi db ile yapılan işlemler sonrasında db.close yazmalısınız.

Bir sonraki yazımızda where, orderBy, groupBy’ı da kullanarak istediğimiz verileri çekip ekranda gösterme işlemlerini ele alıyor olacağız.

Daha detaylı bilgi için Google dokümanını inceleyebilirsiniz.

Evet arkadaşlar Android’te 5 farklı veri saklama yollarından biri olan Sqlite kullanımını bu şekilde tamamlamış olduk. Umarım hepiniz için faydalı olmuştur. Bir sonraki yazımızda görüşmek dileğiyle.. :)

--

--