<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>android veritabanı dersleri arşivleri - Mehmet Kirazlı</title>
	<atom:link href="https://www.mehmetkirazli.com/tag/android-veritabani-dersleri/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mehmetkirazli.com/tag/android-veritabani-dersleri/</link>
	<description>Yazılımcı Notları</description>
	<lastBuildDate>Sat, 07 Apr 2018 22:19:23 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.10</generator>

<image>
	<url>https://www.mehmetkirazli.com/wp-content/uploads/2018/04/mehmetkirazlilogo.png</url>
	<title>android veritabanı dersleri arşivleri - Mehmet Kirazlı</title>
	<link>https://www.mehmetkirazli.com/tag/android-veritabani-dersleri/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android Dersleri 13 : Veritabanı İşlemleri &#8211; 1</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-veritabani-islemleri-1/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-veritabani-islemleri-1/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Tue, 19 Feb 2013 16:41:14 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android dersleri]]></category>
		<category><![CDATA[android veritabanı dersleri]]></category>
		<category><![CDATA[android veritabanı işlemleri]]></category>
		<category><![CDATA[kayıt ekleme çıkarma]]></category>
		<category><![CDATA[sqlite kullanımı]]></category>
		<category><![CDATA[veritabanı oluşturma]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1316</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar. Hangi dili öğrenirseniz öğrenin, işin en zevkli kısmı veritabanı işlemleridir ve veritabanını öğrendikçe daha kaliteli uygulamalar yapmak istersiniz. Ben de bu derse, android üzerinde basit olarak sqlite ile veritabanı kullanımı konusunu anlatacağım. Android Veritabanı İşlemleri ve SQLite Kullanımı Android uygulamalarımızda veritabanı olarak genelde SQLite dediğimiz açık kaynak kodlu veritabanı kullanılır. Bu veritabanı, birçok &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-veritabani-islemleri-1/">Android Dersleri 13 : Veritabanı İşlemleri &#8211; 1</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #333333;">Merhaba arkadaşlar. Hangi dili öğrenirseniz öğrenin, işin en zevkli kısmı <span style="color: #ff0000;">veritabanı</span> işlemleridir ve veritabanını öğrendikçe daha kaliteli uygulamalar yapmak istersiniz. Ben de bu derse, android üzerinde basit olarak sqlite ile veritabanı kullanımı konusunu anlatacağım.<span id="more-1316"></span></span></p>
<h3>Android Veritabanı İşlemleri ve SQLite Kullanımı</h3>
<p>Android uygulamalarımızda veritabanı olarak genelde <span style="color: #ff0000;">SQLite</span> dediğimiz <span style="text-decoration: underline;">açık kaynak kodlu</span> veritabanı kullanılır. Bu veritabanı, birçok programlama dili ile uyumludur. Android ile beraber kullanıldığında hızlı çalışır ve performansı yüksektir.</p>
<p>Şimdi zaman kaybetmeden bir proje oluşturalım ve sayfamızın görüntüsünü şu şekilde yapalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/116.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1317 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/116-213x300.png" alt="android veritabanı" width="213" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/116-213x300.png 213w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/116.png 334w" sizes="(max-width: 213px) 100vw, 213px" /></a></p>
<p>Burada basit bir örnek oluşturmak için önce <span style="color: #ff0000;">ad</span> ve <span style="color: #ff0000;">soyadı</span> alacağız. <strong>Kaydet</strong> butonuna tıkladığımızda bunları veritabanına kaydedecek ve daha sonra <strong>Bilgileri Getir</strong> dediğimizde de alttaki <span style="color: #ff0000;">Large Text</span> alanlarına bunları getirecek.</p>
<p>Daha sonra <strong>src</strong> altındaki pakete sağ tıklayarak <strong>New-Class</strong> diyoruz ve yeni bir sınıf oluşturuyoruz. Bu sınıfımızı ben aşağıdaki isimle oluşturdum.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/214.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1318 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/214-300x265.png" alt="android veritabanı" width="300" height="265" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/214-300x265.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/214.png 749w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Buradaki sınıfımızda, veritabanıyla ilgili işlemleri yapacağız. O yüzden oluşturduk. Sınıfımızı oluşturduktan sonra ben sınıfın içerisine temel şeyleri yazacağım ve daha sonra bunların ne anlama geldiklerini açıklayacağım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/310.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1319 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/310-300x158.png" alt="android veritabanı" width="300" height="158" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/310-300x158.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/310.png 461w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Burada ilk olarak sınıfımızı <span style="color: #ff0000;">SQLiteOpenHelper</span> sınıfından <strong>extend</strong> ettik yani türettik. <span style="color: #ff0000;">SQLite</span> veritabanını kullanabilmemiz için bu zorunludur. Daha sonra 2 adet değişken tanımladık. Birisi veritabanı adını tutacak diğeri de sürümünü. Bunları <span style="color: #ff0000;">static</span> ve <span style="color: #ff0000;">final</span> olarak tanımladık yani bir nevi <span style="text-decoration: underline;">sabit</span>. Daha sonra bu <span style="color: #ff0000;">Veritabani</span> adlı sınıfımızın<span style="text-decoration: underline;"> yapıcısını</span> oluşturduk. Yapıcılar bildiğiniz gibi <span style="text-decoration: underline;">sınıf ismi ile aynı adı taşırlar</span>. Bu yapıcı, <span style="color: #ff0000;">Context</span> tipinde bir<strong><span style="color: #ff0000;"> c</span></strong> nesnesini parametre olarak aldı. <strong><span style="color: #ff0000;">c</span> </strong>ismini rastgele verdim. Bu yapıcının içinde de <span style="color: #ff0000;">super</span> metodunu çağırdık ve parametre olarak; <span style="text-decoration: underline;">c nesnesi, veritabanının adını tutan değişken, null, veritabanı sürümü</span> olarak 4 adet parametre verdik. Buraya kadar yaptıklarımız zorunlu.</p>
<p>Burada <span style="color: #ff0000;">Veritabani</span> adlı sınıfımızın altını çizdi. Yanındaki kırmızı çarpıya basıp <strong>Add Unimplement Method</strong> diyerek 2 adet metod ekliyoruz. Metodların eklenmiş hali aşağıdaki gibidir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/45.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1320 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/45-300x149.png" alt="android veritabanı" width="300" height="149" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/45-300x149.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/45.png 861w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Kalıtım yaptığımız için <span style="color: #ff0000;">implement</span> etmemiz gereken 2 tane metod verdi bize. Yani bu 2 metodu mutlaka kendi sınıfında kullanmalısın dedi. Bu metodlardan 1 numaralı olanda genelde veritabanı işlemleri oluşturulur. Burada yapılacak olan işlemler 1 defalığına yapılır. 2 numaralı metodda ise sürüm güncelleştirmelerinde yapılacak olanlar yazılır.</p>
<p>Bu alanlara aşağıdaki gibi kodları yazalım</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/117.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1325 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/117-300x205.png" alt="android veritabanı" width="300" height="205" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/117-300x205.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/117.png 601w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">onCreate()</span> metodunun içerisine, parametre olarak aldığı <span style="color: #ff0000;">db</span> nesnesinin <span style="color: #ff0000;">execSQL()</span> metodunu yazdık. Bu <span style="color: #ff0000;">execSQL</span> metodu, parametre olarak aldığı sorguyu çalıştırır. Biz sorgumuzda <strong>bilgiler</strong> adında bir tablo oluşturduk. Bu tablo da <span style="color: #ff0000;">TEXT</span> tipinde <strong><span style="color: #ff0000;">ad</span></strong> ve <strong><span style="color: #ff0000;">soyad</span></strong> sütunlarına sahip oldu. Android&#8217;de genelde <span style="color: #ff0000;">TEXT,INT</span> ve <span style="color: #ff0000;">REAL</span> veri tipleri kullanılır. <span style="color: #ff0000;">onUpgrade()</span> metodunda ise yine <span style="color: #ff0000;">db.execSQL()</span> metodunu kullandık ve parametre olarak bir sorgu yazdık. Bu sorgu, eğer öyle bir tablo varsa; onu <strong><span style="color: #ff0000;">sil</span></strong> demektir. Bir alt satırında da bu <span style="color: #ff0000;">db</span> nesnesini <span style="color: #ff0000;">onCreate()</span> metoduna gönderdik. Bunları yazmak zorunludur.</p>
<p>Bu işlemleri yaptıktan sonra şimdi <span style="color: #ff0000;">MainActivity</span> sınıfımızı açalım. İlk aşamada <span style="color: #ff0000;">butonları, editview&#8217;ları</span> bağlama işlemini yapalım. Bunları yaptıktan sonra görüntümüz şu şekilde olacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/73.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1323 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/73-293x300.png" alt="android veritabanı" width="293" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/73-293x300.png 293w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/73-50x50.png 50w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/73.png 565w" sizes="(max-width: 293px) 100vw, 293px" /></a></p>
<p>1 numaralı alanda nesneleri tanımladık. 2 numaralı alanda, biraz önce oluşturduğumuz <span style="color: #ff0000;">Veritabani</span> adlı sınıftan <strong><span style="color: #ff0000;">v1</span></strong> nesnesi oluşturduk. 3 numaralı alanda bu <strong><span style="color: #ff0000;">v1</span></strong> nesnesinin <strong>new</strong> ile bellekte yer kaplamasını sağladık. 4 numaralı alanda nesneleri bağladık. 5 numaralı alanda ise <span style="color: #ff0000;">Kaydet</span> butonuna tıklandığında yapılacakları yazacağız. Şimdi bu sayfayı biraz daha dolduralım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/811.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1589 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/811-300x260.png" alt="android veritabanı" width="300" height="260" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/811-300x260.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/811.png 698w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Evet sınıfımızın içini yavaş yavaş dolduruyoruz. Burada veritabanı ile ilgili işlemleri yapacağız. 1 numaralı alanda, <span style="color: #ff0000;">kaydetme</span> butonuna tıklandığında yapılacakları yazacaktık. Bunları <span style="color: #ff0000;">try</span> içerisinde yaptık çünkü veritabanında hata olursa uygulama patlamasın hemen. Burada <span style="color: #ff0000;">ekleme</span> metoduna 2 parametre gönderdik. Bu parametreler, <span style="color: #ff0000;">edittext&#8217;e</span> girdiğimiz değerler. 2 numaralı alanda bağlantıyı kapattık. 3 numaralı alanda <span style="color: #ff0000;">ekleme</span> metodumuzu oluşturduk ve 2 parametre alıyor. 4. alanda <strong><span style="color: #ff0000;">v1</span></strong> nesnesi üzerinden <span style="color: #ff0000;">getWritableDatabase()</span> metodunu çağırdık. Çünkü biz şuan <span style="color: #ff0000;">ekleme</span> yani bir <span style="color: #ff0000;">yazma</span> işlemi yapacağız. Bu işlemi de <strong><span style="color: #ff0000;">db</span></strong> nesnesine attık. 5 numaralı alanda zorunlu olarak <span style="color: #ff0000;">ContentValues</span> sınıfından bir nesne oluşturduk. 6 numaralı alanda bu nesnenin <span style="color: #ff0000;">put()</span> metodunu çağırarak ekleme yaptık. Peki hangi alanları ekledik? Parantez içinde ilk parametre <span style="text-decoration: underline;">nerede tutacağımızı</span> gösterir. 2.parametre ise<span style="text-decoration: underline;"> neyi tutacağız</span> onu gösterir. Bu tutulacak olan değerleri, <span style="color: #ff0000;">ekleme()</span> metodunda parametre olarak almıştık zaten. Son 7 numaralı alanda da db&#8217;nin <span style="color: #ff0000;">insertOrThrow()</span> metodunu çağırdık. Bu metod veritabanına ekleme yapar. Son aşamadır. Bunun yerine <span style="color: #ff6600;"><strong>insert()</strong></span> metodu da kullanılır fakat bu daha performanslıdır. İleride bazı örnekleri <strong><span style="color: #ff6600;">insert()</span></strong> ile yapacağım. İlk parametresi <span style="text-decoration: underline;">tablo adı</span>, diğer parametre <span style="text-decoration: underline;">null,</span> son parametre ise <span style="color: #ff0000;">ContentValues</span> nesnemizdir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/2221.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1329 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/2221-300x243.png" alt="android veritabanı" width="300" height="243" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/2221-300x243.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/2221.png 741w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Şimdi buradaki alanları açıklayalım. 1 numaralı alanda <span style="color: #ff0000;">Göster</span> butonu için <span style="color: #ff9900;"><strong>listener</strong></span> yazıldı. 2 numaralı alanda, bu butona tıklandığında <strong><span style="color: #ff9900;">bilgileriGoster()</span></strong> metoduna gidilmesi sağlandı. 3. alanda hangi sütundaki verileri çekeceğimizi gösteren bir <span style="color: #ff0000;">dizi</span> şeklinde oluşturduk.</p>
<p>4.alanda yine bir <strong><span style="color: #ff0000;">db</span></strong> nesnesi oluşturduk fakat okuma yapacağımız için bu sefer <span style="color: #ff0000;">getReadableDatabase()</span> metodunu kullandık. 5.alanda bir <span style="color: #ff0000;">Cursor</span> nesnesi tanımladık. Cursor, veritabanından çekilen veriler arasında gezinmeyi sağlar. <strong><span style="color: #ff0000;">db</span></strong> nesnesinin <span style="color: #ff0000;">query()</span> metodunu çalıştırdık. Parametre olarak da ilk olarak <strong>tablo adı</strong>, daha sonra veritabanından <strong>okunacak alan</strong>ı gösterdik. Kalan 5 <span style="color: #ff0000;">null</span> değeri sırasıyla ; <span style="color: #ff0000;">where</span> koşulu, <span style="color: #ff0000;">where</span> koşulunun değerleri, <span style="color: #ff0000;">groupby, having,</span> <span style="color: #ff0000;">orderby&#8217;dır.</span> Biz bunların belirlenmesini istemediğimiz için <strong>null</strong> belirledik. Bu arada bu dersi anlatırken <span style="color: #ff0000;">SQL</span> sorgularını bildiğinizi varsayıyorum. 6.alanda bu okunanlar adındaki <strong>Cursor</strong> nesnesi ile satır satır okuma yaptık. Bunun için <strong>while</strong> içerisinde <span style="color: #ff0000;">moveToNext()</span> metodunu kullandık.</p>
<p>7.alanda ise bu okunan değerleri <span style="color: #ff0000;">add</span> ve <span style="color: #ff0000;">soyadd</span> değişkenlerine attık. Değerleri alırken de <span style="text-decoration: underline;">sütun isimleri olan</span> <strong>ad</strong> ve <strong>soyad</strong> parametrelerini verdik ki o sütundaki ilk verileri alsın. 8.alanda da bunları <span style="color: #ff0000;">textview</span> nesnelerine atarak ekrana yazdırdık.</p>
<p>&nbsp;</p>
<h3><strong>Ekran Çıktıları</strong></h3>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1327 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran1-179x300.png" alt="android veritabanı" width="179" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran1-179x300.png 179w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran1.png 443w" sizes="(max-width: 179px) 100vw, 179px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1328 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran2-182x300.png" alt="android veritabanı" width="182" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran2-182x300.png 182w, https://www.mehmetkirazli.com/wp-content/uploads/2013/02/ekran2.png 447w" sizes="(max-width: 182px) 100vw, 182px" /></a></p>
<p>Bu derste androidde veritabanı işlemlerine giriş yaptık. Temel olarak veritabanı,tablo oluşturmayı ve kayıt eklemeyi ve kayıtları çekmeyi anlattık. Diğer derslerde silme, güncelleme gibi işlemleri yapacağım ve farklı ekleme yöntemlerinden bahsedeceğim.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-veritabani-islemleri-1/">Android Dersleri 13 : Veritabanı İşlemleri &#8211; 1</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-veritabani-islemleri-1/feed/</wfw:commentRss>
			<slash:comments>56</slash:comments>
		
		
			</item>
	</channel>
</rss>
