Android SQLite ile Spinner Kullanımı

Merhaba arkadaşlar,

Bugün dersimizde sizlere SQLite kullanarak Spinner ı doldurmayı anlatacağım. Uygulamalarımızda verileri saklamak istediğimiz zaman veritabanı kullanma yöntemine gideriz. Veritabanı olarak da SQLite kullanırız bunun nedeni ise, kullanımı gerçekten kolay ve anlaşılır bir yapıya sahip olmasıdır. Hem boyutunun küçük olması hem de hızlı işlem yapabilmesi nedeniyle de bir çok mobil cihazda kullanılmaktadır. Ayrıca, SQLite bir çok programlama dili ile birlikte kullanılabilir. ( Java, C#, Objective-C vb. )

SQLite her Android cihazı içerisinde yer almaktadır ve bu veritabanını kullanmak için ayrıca bir kurulum yapmanıza gerek yoktur. Fakat, veritabanını görüntülemek ve bir takım işlemleri tabloları görerek yapmak istiyorsanız eğer, Firefox Browser ın bir eklentisi olan SQLite Manager ı kurmanız gerekmektedir. Bu sayede .sqlite uzantılı dosyaları görüntüleyebilir ve hazırlayabilirsiniz. Bu eklentiyi kullanmak isterseniz Firefox tarayıcınızı açıp bu linki tıklayınız. Eklentiyi kurduktan sonra, Firefox yeniden başlayacaktır. Araçlar segmesinin altında SQLite Manager ı göreceksiniz ve ona tıklayıp açtığınızda bir çok veritabanı işlemini gerçekleştirebileceğinizi göreceksiniz. Ayrıntılı olarak incelemek isterseniz bu dersimize bakabilirsiniz.

Veritabanı kavramına da kısaca değindiğimize göre, spinner a verileri nasıl ekliyoruz bakalım :

Öncelikle bir veritabanı sınıfı oluşturmamız gerekiyor. Bu veritabanın da ders isimlerini tutacağız ve istediniği anda tutulan verileri dönderecek bir method da oluşturmamız gerekmektedir. DataBase adını verdiğim bir sınıf oluşturup SqliteOpenHelper sınıfından türettim daha sonra implement e edilmemiş diğer sınıfları ekledim. ( onCreate, onUpgrade ) ve bir constructore ihtiyacımız olduğu içinde DataBase sınıfının constructor unu oluşturdum. Sadece tek bir veri tutup ona göre işlem yapacağım için veritabanını oluşturma işlemi kolay oldu. Daha ayrıntılı nasıl kullanabilirim diyorsanız eğer SQLite kullanımı ile ilgili bu dersimizi inceleyiniz.

DataBase sınıfımıza bakalım:

DataBase.java

Şimdi ise görsellik nasıl olacak ona bakalım :

Uygulamamızda bir Edittext ( kullanıcının verileri girebilmesi için ) , bir Buton ( tıkladığımız anda veriyi hem veritabanına kaydedecek hem de Spinner ın güncellenmesini sağlayacak ) , bi de Spinner            ( girilen verileri listeleyip gösterebileceğimiz ) kullandık.

activity_main.xml

Şimdi de MainActivity kodlarımıza bakalım :

fetchSpinnerValues()  fonksiyonuna baktığımızda , oluşturduğumuz veritabanına ulaşıyoruz ve getAllLectures() fonksiyonu ile verileri çekip , spinner ımıza koyuyoruz. Edittext in içi boş ise yani kullanıcı ders adını girmeden butona bastıysa AlertDialog kullanarak hata mesajı gösteriyoruz eğer Edittext in içi boş değilse de girilen değeri veritabanına kaydedip , Spinner ı güncelliyoruz.

MainActivity.java

İşte spinnerı veritabanı kullanarak güncellemek bu kadar kolay. Bu dersimizde sizlere nasıl bir mantık izleyeceğinizi ve SQLite ile Spinner arasındaki kullanım şeklini göstermeye çalıştım umarım faydalı olmuştur. Uygulamanın kaynak kodlarını da indirip inceleyebilirsiniz.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Ders hakkında soru ve önerilerinizi çekinmeden yorum bırakabilirsiniz. Bol Android’li günler sizin olsun :)

Sizlerden ricamız facebook.com/mobilhanem sayfamızı beğenmenizdir. Diğer dersimde görüşmek üzere kendinize iyi bakın..

 

11

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

2 Yorum

  • İyi günler , Spinner içine Matematik ve Edebiyat sekmesi ekledim fakat Matematige basıp çıkan ekranda buton olmasını ve butona basıldıgında örnek Matris konusuna gitsin istiyorum bunu nasıl yaparım ?

    • Merhabalar, spinner da eklediğin her bir itemin positionu var matematik kaçıncı position ise seçtiğin anda Intent kullanarak yeni bir activity açtırırsın o activity in layout tasarımına buton koyarsın ve butona click eventi verirsin tıklandığı anda ise yine yeni bir activity açtırırsın intent ile.. tabi ayrı ayrı sayfalar yapmak istiyorsan böyle olacak tek bir sayfada bu istediklerim olsun dersen Fragment kullanmalısın

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?