Android ile SQLLite Veri Tabanı

Benzer belgeler
Android Database SQLLite

MOBİL UYGULAMA GELİŞTİRME

Listview Kullanımı. Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Android Kaynakları (Resources)

Proje 1. Arayüz Tasarımı

Android Ders Notları

Android Cep Telefonu Programlama

1 - Button Kontrolu Nasıl Yapılır?

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME

UYGULA İÇİ SATIN ALMA. <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="com.android.vending.

Layout. (Düzen,Plan,Yerleşim)

Activity Context.startActivity Activity, AndroidManifest

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Bazı Akıllı Telefon Sensörleri

EĞİTİM KURUMLARINDA SINIF İÇİ YOKLAMA, SINAV GİBİ UYGULAMALARIN TABLET BİLGİSAYAR KULLANARAK HIZLI VE VERİMLİ HALE GETİRİLMESİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Trakya Üniversitesi Mühendislik-Mimarlık Fakültesi Bilgisayar Mühendisliği Bölümü. BM Yazılım - Staj Raporu

2. GÜN. Daha açık bir ifadeyle,

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Espresso ile Android Uygulama Testi

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Android Studio Dersleri

Görsel Programlama (Visual Programming)

Görsel Komponentler. TextView. Metin değerlerini ekranda göstermek için kullanılır.

Oracle da kullanılan veri tipleri:

Burak Kıymaz JAVA FX

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Android Nedir? Google'ın Android Inc şirketini alışı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

Fırat Üniversitesi DENEY NO: 4 MOBİL UYGULAMALAR

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Androıd ile Arduıno. Nazir Doğan

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Mobil Uygulama Ders Notları v0.6

Bölüm 4: DDL Veri Tanımlama Dili

Java Programlamaya Giriş

Fatura Dinamik Kodlama İyileştirmeleri

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

CUSTOMSLİDİNG KULLANIMI

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi YAYIN ALICILARI. BLM401 Dr.Refik SAMET

SINIF İÇİ UYGULAMA KODLARI

HSancak Nesne Tabanlı Programlama I Ders Notları

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

Spring Framework Eğitimi

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

NESNE TABANLI PROGRAMLAMA-2 DERS UYGULAMALARI-1

Java Class Yapısında Finalize Metotunun Kullanımı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

T.C. MĠLLÎ EĞĠTĠM BAKANLIĞI EĞĠTĠM TEKNOLOJĠLERĠ GENEL MÜDÜRLÜĞÜ BĠLĠġĠM HĠZMETLERĠ DAĠRESĠ MEZUN ÖĞRENCĠ SORGULAMA MODÜLÜ KULLANIM KILAVUZU

C#.Net & Linq (Language Integrated Query)

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

STORED PROCEDURE LER (Saklı Yordamlar)

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri

SORGULAR VE ÇEŞİTLERİ II

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

E - YENİLİKLER BÜLTENİ

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

VeriTabanı Uygulamaları

ACCESS PLATFORMUNDA SQL

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Satış Fırsatlarım Ekranı Kullanım Kılavuzu

SQL e Giriş. Uzm. Murat YAZICI

Telefon Defteri Modülü Kullanım Kılavuzu

Nesneye Dayalı Programlama

Transkript:

Android ile SQLLite Veri Tabanı Android de verileri SQLLite veritabanında tutmak için: Adım-1) File-New Project buradan projeye bir isim verelim ( örneğin: AndroidSQLite), Next ile bir sonraki adımda API level seçelim ( Örneğin aşağıdaki şekildeki gibi : API 16: Android 4.1 (Jely Bean) ). Next ile bir sonraki adımda Blank Activity seçerek projeyi oluşturalım. Şekil-1 Adım-2) Şekil-2 deki gibi proje bir adet Class ekleyelim. Bunun için Java-sağ klik- new- Java Class buradan Class adı verelim (Örneğin: SQLiteHelper ismi verebilirsiniz) OK deyince karşımıza şu şekilde bir Class oluşacaktır. package com.example.m.myapplication; public class SQLiteHelper Şekil-2 Adım-3)Oluşturduğumuz class a aşağıdaki SQLiteOpenHelper class ından extends (türetme) yapalım Şekil- 3. SQLiteOpenHelper clasının iki adet implementi vardır. Bunun için Şekil-3 deki işareti üzerine gelip aşağı ok klikleyince Şekil-4 deki ekran gelir. Buradan Implement methods seçtiğimizde Şekil-5 gelir. Buradan OK klikleyince kodumuz Şekil-6 daki gibi olacaktır. Ancak hala kodda hata belirtisi görülmektedir. Bunun için oluşturduğumuz SQLiteHelper classına bir constructure (yapıcı) metod ekleyip içine super() metodu koymalıyız. Böylece kodumuz. Liste-1 deki gibi olacaktır. Şekil-3

Şekil-4 Şekil-5 Şekil-6

Liste-1: package com.example.m.myapplication; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; public class SQLiteHelper extends SQLiteOpenHelper //yapıcı metor SQLiteHelper (Context context) super(context,"veritabanı adı", null, "veritabanıversiyon numarası"); public void oncreate(sqlitedatabase db) public void onupgrade(sqlitedatabase db, int oldversion, int newversion) Adım-4) Liste-1 deki constructure metod (SQLiteHelper (Context context) ) içindeki super() metodu içinde veritabanı bilglerini yazarız; burada veri tabanı adı ve veritabanı versiyon numarası (1,2,3 gibi) bilgileri verilmelidir. Örneğin veritabanı adı : OgrDB ve versiyon numarası 1 verilirse constructure metod aşağıdaki gibi olur. //yapıcı metor SQLiteHelper (Context context) super(context,"ogrdb", null, 1); Adım-5) SQLiteHelper class ı içinde implement olan oncreate() metodu içine tablo oluşturalım. Burada OgrTable isimli tablo oluşacaktır. id num adsoy public void oncreate(sqlitedatabase db) db.execsql("create TABLE IF NOT EXISTS OgrTable(_id integer primary key autoincrement, num VARCHAR, adsoy Text);"); Adım-6) SQLiteHelper class ı içinde implement olan onupgrade() metodu içini aşağıdaki gibi düzenleyelim. public void onupgrade(sqlitedatabase db, int oldversion, int newversion) db.execsql("drop TABLE IF EXISTS OgrTable;"); db.execsql("create TABLE IF NOT EXISTS OgrTable(id integer primary key autoincrement, num VARCHAR, adsoy Text);");

Adım-6) SQLiteHelper class ı içine tabloya veri girme silme değiştirme listeleme gibi işlemlerin yapılabileceği metodları oluşturalım. İlk olarak tabloya veri girmek işlemini gerçekleştirelim: public void Ekle(String num, String adsoy) SQLiteDatabase db = this.getwritabledatabase(); db.execsql("insert INTO OgrTable (num, adsoy)values('+ num + ', + adsoy + );"); Adım-7) Tablodaki veriyi numaraya göre güncelleme (değiştirme) metodu: public void Degistir(String num, String adsoy) SQLiteDatabase db = this.getwritabledatabase(); db.execsql("upadte OgrTable set adsoy='+ adsoy + ' where num= + num + );"); Adım-8) Tablodaki veriyi numaraya göre silelim: public void Sil(String num) SQLiteDatabase db = this.getwritabledatabase(); db.execsql("delete from OgrTable where num= + num + );"); Adım-9) Tablodaki veriyi listeleyelim: public Cursor VeriGetir() SQLiteDatabase db = this.getreadabledatabase(); Cursor c = db.rawquery("select * FROM OgrTable;", null); return c;

Buraya kadar olan işlemler kendi oluşturduğumuz SQLiteHelper Classı ı içinde tanımladı. Bundan sonra bu verilerin kullanımı için MainActivity içerisinde yapacaklarımızı yazacağız. Adım-10) Datların görüneceği yeni bir ekran (layout) oluşturalım. Bunun için: res/layout- sağ klik new- Layout resources file buradan layout adı verelim ( örenğin: row_item). Ekrana numara ve adsoy bilgisini görüneceği ili adet TextView nesnesini aşağıdaki gibi yerleştirelim. row_item.xml dosyası içeriği aşağıdaki gibi olacaktır <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="100sp" android:layout_height="wrap_content" android:text="textview1" android:id="@+id/textview1"/> <TextView android:layout_width=" wrap_content" android:layout_height=" wrap_content" android:text="textview2" android:id="@+id/textview2""/> </LinearLayout> Adım-11) Ana Ekran (Activity) görüntüsü olan res/layout içindeki activity_main.xml içine bir adet ListView nesnesi sürükleyip bırakın. Burada dajha sonra Adım-10 daki tasarladığımız row_item listesi görünecek. activity_main.xml dosyasının içeriğini aşağıdaki gibi düzenleyiniz. Sadece ListView nesnesinde düzenleme yapacağız. Bunu id sini android:id="@+id/android:list" şeklindende belirleyelim <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" android:paddingbottom="@dimen/activity_vertical_margin" tools:context=".mainactivity">

<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/android:list" /> </RelativeLayout> Adım-12) MainActivity Classını açalım ve içerisini aşağıdaki gibi düzenleyelim: Listele() fonksiyonu içinde db.ekle( 25, Ali Can ); şeklinde tabloya veri girişi yapılabilir. Şekil-8 deki gibi ListView da listelen kayıtlar zerine kliklenince seçilen kayıt bilgisi Toast() ile mesaj olark börülebildiği gibi başka amaçlar içinde kullaılabilir. public class MainActivity extends ListActivity SQLiteHelper db; SimpleCursorAdapter dataadapter; protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); db = new SQLiteHelper(this); Listele(); //Girilen bilgiler ListView da listelenir public void Listele() db.ekle( 25, Ali Can ); // Kayıt ekleme db.ekle( 19, Fatma Kara ); db.ekle( 27, Suzan Koc ); Cursor cursor=db.verigetir(); // Tüm kaytları getir //kayıtların ListeView da görünmesi için Simple Cursor adatpere ilişkilendirilmesi String []from = new String[] num, adsoy ; int [] to = new int[] R.id.textView1,R.id.textView2; dataadapter = new SimpleCursorAdapter(this, R.layout.row_item, cursor, from, to, 0); ListView lv = getlistview(); lv.setadapter(dataadapter); //ListView da üzerşnde kliklenen itemin gösterilmesi lv.setonitemclicklistener(new AdapterView.OnItemClickListener() public void onitemclick(adapterview<?> parent,view view,int position,long id) ListView listview = (ListView) parent; Cursor cursor = (Cursor) listview.getitematposition(position); String s = (cursor.getstring(cursor.getcolumnindex("num"))).tostring(); s += " " + (cursor.getstring(cursor.getcolumnindex("adsoy"))).tostring(); Toast.makeText(getBaseContext(), "" + s, Toast.LENGTH_SHORT).show(); ); //************************************************************

Şekil-8 Adım-13) Ekrana Silme, Değiştirme butonları konularak silme ve kayıt değiştirme metodları çağrılarak bu işlemler gerçekleştirilebilir. SİLME DEĞİŞTRİME : db.sil ( 19 ); //19 numaralı kayıt silinir : db.degistir ( 27, Semra Karakoc ); //27 numaralı kaydın bilgisi değişecektir