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ı 17072 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 Görkemli 10 Güneş Tarlası
- 
                    
                             Dünyanın En Büyük 10 Makinesi Dünyanın En Büyük 10 Makinesi
- 
                    
                             2020’nin En İyi 10 Kişisel Robotu 2020’nin En İyi 10 Kişisel Robotu
- 
                    
                             Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- 
                    
                             Üretimin Geleceğinde Etkili Olacak 10 Beceri Üretimin Geleceğinde Etkili Olacak 10 Beceri
- 
                    
                             Olağan Üstü Tasarıma Sahip 5 Köprü Olağan Üstü Tasarıma Sahip 5 Köprü
- 
                    
                             Dünyanın En İyi Bilim ve Teknoloji Müzeleri Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- 
                    
                             En İyi 5 Tıbbi Robot En İyi 5 Tıbbi Robot
- 
                    
                             Dünyanın En Zengin 10 Mühendisi Dünyanın En Zengin 10 Mühendisi
- 
                    
                             Üretim için 6 Fabrikasyon İşlemi Üretim için 6 Fabrikasyon İşlemi
- 
                    
                         ABB Sürücü Ailesi & Yeni ACS480 Sürücüler | Webinar ABB Sürücü Ailesi & Yeni ACS480 Sürücüler | Webinar
- 
                    
                         Geleceğin Güç Altyapısı Galaxy VXL ile Tanışın | Schneider Electric Geleceğin Güç Altyapısı Galaxy VXL ile Tanışın | Schneider Electric
- 
                    
                         Senplus Pano Sistem Tanıtımı I Webinar Senplus Pano Sistem Tanıtımı I Webinar
- 
                    
                         Nasıl Dönüşür | Rüzgar Enerjisi Nasıl Dönüşür | Rüzgar Enerjisi
- 
                    
                         Nasıl Dönüşür | Hava Kalitesi İndeksi Nasıl Dönüşür | Hava Kalitesi İndeksi
- 
                    
                         Nasıl Dönüşür | Sorumlu Üretim ve Tüketim Nasıl Dönüşür | Sorumlu Üretim ve Tüketim
- 
                    
                         Webinar I Sigma Elektrik'ten Yeni ve Yenilikçi Ürün Portföyü Tanıtım Webinarı Webinar I Sigma Elektrik'ten Yeni ve Yenilikçi Ürün Portföyü Tanıtım Webinarı
- 
                    
                         Nasıl Dönüşür | Eko Etiket Nasıl Dönüşür | Eko Etiket
- 
                    
                         Nasıl Dönüşür | Uzaktan Erişim Nasıl Dönüşür | Uzaktan Erişim
- 
                    
                         Nasıl Dönüşür | Paris Anlaşması Nasıl Dönüşür | Paris Anlaşması
        ANKET
    
     
         
 
                     
                 
                 
                 
                 
                 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            
 
                         Fatih Koçak
                        Fatih Koçak
                         EN 50136 Standardı: Alarm İletim Sistemlerinde Güv...
                    EN 50136 Standardı: Alarm İletim Sistemlerinde Güv...
                 Yüksek Gerilimde Güvenin Anahtarı | Advanced 5 kV,...
                    Yüksek Gerilimde Güvenin Anahtarı | Advanced 5 kV,...
                 Akustik Görüntüleme Nedir? Akustik Kameralar Nasıl...
                    Akustik Görüntüleme Nedir? Akustik Kameralar Nasıl...
                 Otomatik Transfer Şalteri (ATS) Nedir?
                    Otomatik Transfer Şalteri (ATS) Nedir?
                 ENTES EMM Serisi Multimetreler ile Güvenilir Ölçüm
                    ENTES EMM Serisi Multimetreler ile Güvenilir Ölçüm
                
 
                             Güneş Enerjisi Elektrik Üretim Sisteminin Tasarlan...
                    Güneş Enerjisi Elektrik Üretim Sisteminin Tasarlan...
                 Alternatif Akımın Temel Tanımları
                    Alternatif Akımın Temel Tanımları
                 Mühendisler Ne İş Yapar ve Ne Kadar Kazanırlar?
                    Mühendisler Ne İş Yapar ve Ne Kadar Kazanırlar?
                 IT Nedir? | IT Uzmanı Nedir?
                    IT Nedir? | IT Uzmanı Nedir?
                 BIOS Nedir? BIOS Ayarları Nasıl Yapılır?
                    BIOS Nedir? BIOS Ayarları Nasıl Yapılır?
                 Linux Bilgisayara Web Sunucusu Nasıl Kurulur?
                    Linux Bilgisayara Web Sunucusu Nasıl Kurulur?
                 Web Sitelerinde Karşılaşılan 5 Güvenlik Sorunu
                    Web Sitelerinde Karşılaşılan 5 Güvenlik Sorunu
                 Web Uygulamalarındaki Güvenlik Zafiyetleri
                    Web Uygulamalarındaki Güvenlik Zafiyetleri
                 C# Programlama Dili ile Stored Procedure Çağrımı  ...
                    C# Programlama Dili ile Stored Procedure Çağrımı  ...
                 SQL Veri Tabanı | Elektrikport Akademi
                    SQL Veri Tabanı | Elektrikport Akademi
                