Android | Veritabanı işlemleri - 2

Written by Super User. Posted in Android Anlatımlar

İlk makalemizde veritabanı işlemlerini yapabilmek için kullanabileceğimiz SQL sorgularından bahsetmiştik. Şimdi ise yavaş yavaş Android uygulamamıza başlayalım.

Öncelikle VeritabaniDeneme isminde bir Android projesi oluşturuyoruz. Şimdi oluşturmamız gereken bir arayüz var, bu arayüzde veritabanımızı tanımlamak için kullanacağımız sabitler tutacağız. Bu arayüzümüzü kullanmasakta olur fakat, tutarlı bir veritabanı oluşturmak için bu arayüz bize yardımcı olacaktır.

Sabitler.java

package com.getitandroid.veritabanideneme;

import android.provider.BaseColumns;

public interface Sabitler extends BaseColumns {
public static final String TABLE_NAME = "getitandroid";

//Veritabanımızdaki sütunlar için sabitler
public static final String AD = "ad";
public static final String SOYAD = "soyad";
}

Şimdi ise veritabanını tanımlamak için gerekli olan sınıfımızı oluşturalım. Bu sınıf veritabanımızın oluşturulmasını ve versiyonlarını yönetecektir.

 

Veritabani.java

package com.getitandroid.veritabanideneme;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import static com.getitandroid.veritabanideneme.Sabitler.*;

public class Veritabani extends SQLiteOpenHelper {
// Veritabanımızın ismi
private static final String DATABASE_NAME = "getitandroid.db";
// Veritabanımızın versiyonu
// Çok önemli değişiklikler yapıldığında bu değer değiştirilir.
private static final int DATABASE_VERSION = 1;

public Veritabani(Context ctx) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}

// Veritabanina ilk erişim isteği olduğunda otomatik olarak veritabanımız
// oluşturulacak.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "( " +
_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
AD + " TEXT, " + 
SOYAD + " TEXT);");
}

//Sürüm güncellendiğinde bu method çalışacak
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
}

Şu an için paketimizde 3 sınıfımız veya interfaceimiz oldu, ilki main sınıfımız ikincisi sabitler interfaceimiz, ücüncüsü Veritabanı sınıfımız.

Bundan sonraki Veritabanı işlemleri - 3 makalesinde, main sınıfımızı oluşturup, main sınıfımıza veritabanı işlemlerini yapacağımız fonksiyonlarımızı ekleyeceğiz.