Veritabanı İşlemleri |
Android Programlama - 5
Her programlama dilinde ve geliştirilen projelerde büyük bir çoğunlukla kullanılan veritabanı, Android programlamada da büyük bir sıklıkla kullanılmaktadır. Geliştirilen bir uygulamada kullanıcının bilgileri, müşterilerin hesapları ve benzeri gibi akla gelen bir çok veri uygulamalarda veritabanı aracılığıyla tutulur. Bu yazımızda basit bir şekilde veritabanında veri nasıl tutulur tutulan verileri nasıl görebilirim gibi soruların cevabını arayacağız.
22.12.2014 tarihli yazı 16146 kez okunmuştur.
Veritabanı günümüzde mobil projelerin büyük bir çoğunluğunda kullanılmaktadır. Projelerin ihtiyacı gereği girilen verilerin ya da kullanıcı bilgilerinin saklandığı yere programlama dilinde veritabanı denilmektedir. Yazımızda basit bir şekilde veritabanı oluşturmayı ve bu veritabanı içine veri kaydedip bu veriyi ekranda göstermek için gerekli uygulama yapılacaktır.
İlk olarak bir proje oluşturulup activity_main.xml içi aşağıdaki şekilde düzenlenir.
İlk olarak bir proje oluşturulup activity_main.xml içi aşağıdaki şekilde düzenlenir.
Görsel 1: activity_main.xml
►İlginizi Çekebilir : WebView ile İnternet Sayfalarına Giriş Yapma | Android Programlam - 4
activity_main.xml içine Görsel 1'de de görüldüğü gibi ikişer adet edittext, button ve textview eklenmiştir. Uygulamadan biraz bahsedilecek olunursa eğer edittextlerden kullanıcının adı ve soyadı alındıktan sonra Kaydet butonuna basılacaktır ve telefonun ekranına Toast ile mesaj verilecektir. Daha sonra Kayıt Göster butonuna basılarak girilen ad ve soyad eklenilen iki textview de gösterilecektir. activity_main.xml içini Görsel 1'deki gibi düzenledikten sonra veritabanı kodlamasının yapılacağı yeni bir sınıfın kodlamasına artık geçilebilinir. Oluşturulan yeni sınıfın kodlaması şu şekildedir.
Veritabani adı altında bir sınıf tanımlandıktan sonra extends ile SQLiteOpenHelper sınıfından kalıtım alınır. Kalıtım alındıktan sonra kırmızı daire içinde alınan yapılandırıcı methodu yazmak zorunludur. Eğer bu satır yazılmazsa Must define an explicit constructor hatası alınır. Daha sonra veritabanın adı ve sürümü tanımlanır. Bu işlemlerden sonra SQLiteOpenHelper sınıfının methodlarının implement edilmesi gerekmektedir. Bu methodlar aşağıdaki şekilde ki gibidir.
Görsel 2: SQLiteOpenHelper Methodları
►İlginizi Çekebilir : Gerçekleşmesi Çok da Uzak Olmayan 6 Star Wars Teknolojisi
SQLiteOpenHelper sınıfının iki adet methodu bulunur. Bu methodlardan onCreate methodu genellikle bir defa kullanılır ve veritabanı işlemleri için kullanılan bir fonksiyondur. onUpgrade fonksiyonu ise sürüm ya da veritabanı güncelleştirilmelerinde kullanılır. İlk fonksiyonun içine bakılacak olunursa db.execSQL("CREATE TABLE bilgiler (ad TEXT, soyad TEXT);"); kod parçası göze çarpmaktadır. Bu kod parçasında bilgiler adında bir tablo ve bu tabloda TEXT tipinde ad ve soyad sutunları oluşturulmuştur. Androidde genel olarak TEXT, INT ve REAL tipleri kullanılmaktadır. onUpgrade fonksiyonuna bakılırsa da ilk satırda db.execSQL("DROP TABLE IF EXIST bilgiler"); satırı yazılmıştır. Bu iki satır eğer bilgiler adı altında bir tablo varsa o tabloyu sil ve daha sonra güncellenen veritabanının tekrar güncellenmesi için onCreate() fonksiyonuna gönder anlamını taşımaktadır. Veritabanı ile ilgili bu işlemler yapıldıktan sonra MainActivity.java sınıfı açılarak gerekli kodlamalar yapılır.
MainActivity.java sınıfının görüntüsü şu şekildedir.
MainActivity.java sınıfının görüntüsü şu şekildedir.
Görsel 3: MainActivity.java Sınıfı
►İlginizi Çekebilir : Yazı Fontunu Ayarlama | Android Programlama - 3
İlk olarak activity_main.xml içeriğine eklenilen button, edittext ve textview tanımlamarı yapılır. Daha sonra bu sınıfta veritabanı işlemlerinin kullanılabilmesi için Veritabani sınıfından Veritabani dataBase = new Veritabani(this); satırıyla yeni bir nesne türetilir. Kod adım adım anlatılacak olunursa ilk olarak Kaydet butonuna basıldığında ne yapılacağı yazılır. Uygulamada Kaydet butonuna basıldığında bilgilerin kaydedilmesi gerektiğini belirtmiştik. O halde karışık olmaması için kayitGir() adı altında bir fonksiyon tanımlanmıştır. Bu fonksiyon edittextten gelen ad ve soyad verisini parametre olarak alıp veritabanına bu verilerin kayıt edilmesi işlemini yapar. Diğer bir button ise Kayit Göster buttonudur. Bu button ise girilen verileri gösterip kullanıcıyı bilgilendirmesi gerektiğini yazının ilk kısmında belirtmiştik.
Sırasıyla bu fonksiyonların içinde yapılan işlemlere değinecek olunursa eğer ilk olarak kayitGir fonksiyonuna bakmak gerekmektedir. kayitGir fonksiyonun içi şu şekilde kodlanmıştır.
Sırasıyla bu fonksiyonların içinde yapılan işlemlere değinecek olunursa eğer ilk olarak kayitGir fonksiyonuna bakmak gerekmektedir. kayitGir fonksiyonun içi şu şekilde kodlanmıştır.
Görsel 4: kayitGir() Fonksiyonu
►İlginizi Çekebilir : Intent İle Sayfa Geçişi ve Data Transferi | Android Programlama -2
kayitGir fonksiyonu veritabanına bilgi yazacağı için öncelikle veritabanın yazılabilir özelliğini ilk satırdaki kod ile açmak gerekmektedir. Bir sonraki satırla birlikte zorunlu olarak ContentValues sınıfından content adında bir nesne türetildi ve bu nesnenin put() fonksiyonunu kullanılarak veritabanına ekleme işlemi yapılmış oldu. Bu fonksiyon parametre olarak ilk edittext değeri olan ad değişkenini alarak ad sütununa, soyad değişkenini alarak ise soyad sütununa ekleme yapmıştır. Son satırda ise bilgiler tablosuna content değeri parametre olarak yazılarak başarıyla veritabanına kayıt yapılmıştır.
Diğer fonksiyonun içeriği ise şu şekilde kodlanmıştır.
Diğer fonksiyonun içeriği ise şu şekilde kodlanmıştır.
Görsel 5: kayitGoster() Fonksiyonu
►İlginizi Çekebilir : SeekBar ile Ses Ayarı | Android Programlama -1
Adım adım kod satırları açıklanırsa eğer ilk olarak sutunlar adı altında bir dizi oluşturuldu. Bu dizinin oluşturulmasındaki amaç hangi sütunlardan bilginin çekileceğidir. Uygulamada ad ve soyad sütunlarından bilgi çekileceği için sadece ad ve soyad sütunu array'e yani diziye atılmıştır. Fonksiyonun amacı bilgi okumak lduğu için kayitGir fonksiyonunda olduğu gibi bu fonksiyonda da öncelikle veritabanı okuma özelliğinin açılması gerekmektedir. Bir sonrası satırda Cursor ile bir nesne türetildi. Cursor veritabanında gezme işlemini yapacağı için yazılması zorunludur. Bu satırla birlikte bilgiler tablosunun sutunlar dizisi içindeki sütunları tek tek okuma komutu verilmektedir. Veritabanında sütundaki değerler bitene kadar okuma yapılacağı için bir döngüye ihtiyaç duyulmuştur. Okuma işlemini döngü işlemi moveToNext() komutuyla gerçekleştirmiştir. Döngü içinde ad sütununda okunan değerleri name değişkenine, soyad sütununda okunan verileri surname değişkenine değer olarak atılmıştır. Son iki satırda ise activity_main.xml içinde oluşturulan iki adet textview içeriğine bu okunan değerler atılmıştır. Uygulamanın çalışır hali şu şekildedir.
Görüldüğü gibi ad olarak Fatih, soyad olarak Kocak girilmiştir. Daha sonra Kaydet buttonuna basıldıktan sonra Kayıt Göster buttonuna basılırsa kırmızı daire içindeki textview değerleri Fatih Kocak olarak değişmiştir.
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- Kompanzasyon Sistemleri ve Güç Kalitesi | Webinar | Chint Türkiye
- Nasıl Dönüşür I Elektrik 4.0
- Nasıl Dönüşür I Fosil Yakıt
- Nasıl Dönüşür I Kompost
- Sigma DIN Rayı Çözümleri: Ürün Portföyü, Teknik Özellikler ve Kullanım Alanları
- Denizcilik Endüstri Uygulamaları ve Servis Bakım Süreçleri
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
ANKET