Android veritabanındaki tabloya kayıt girme, kayıtları gösterme

Arif Ceylan/ Mayıs 7, 2012/ Android Programlama/ 0 comments

Bir önceki uygulamamızda veritabanını oluşturmuştuk. Şimdi de verileri kaydedelim ve tablomuzdaki kayıtları gösterelim.

Main.xmli yukarıdaki gibi düzenliyoruz. Edittextlerin adı txtadi ve txtsoyadi.

Butonumuzun adı kaydetbuton…

Largotext yazan textviewimizin adı da sonuc. (sağ tıklayıp edit id ile isimlerini değiştirebilirsiniz)

Aşağıdaki kodları yazıyoruz. Kodların açıklamalarını altına yazdım.

package com.ceylan.veritabani;

import android.app.Activity;

import android.content.ContentValues;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class vtactivity extends Activity {

/** Called when the activity is first created. */

private vtolustur ogrenci;

//vtolusturdan ogrenci adlı veritabanımızı tanımlıyoruz.

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

ogrenci=new vtolustur(this, null, null, 1);

//veritabanı nesnemizi oluşturuyoruz.

final EditText txtadi=(EditText)findViewById(R.id.txtadi);

final EditText txtsoyadi=(EditText)findViewById(R.id.txtsoyadi);

//txtadi ve txtsoyadi tanımlanıyor.

Button kaydetbuton=(Button)findViewById(R.id.kaydetbuton);

//butonu tanımlıyoruz.

final TextView sonuc=(TextView)findViewById(R.id.sonuc);

//gösterilecek sonuçlar için textview tanımlanıyor.

kaydetbuton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

kayitekle(txtadi.getText().toString(),txtsoyadi.getText().toString());

//kayitekle methodu çalıştırılıyor, içerisine txtadi ve txtsoyadi parametreleri giriliyor.

sonuc.setText("kayıt girildi");

}

});

}

public void kayitekle(String adi,String soyadi)//kayitekle methodunu oluşturuyoruz

{

SQLiteDatabase db=ogrenci.getWritableDatabase();

//yazılabilir olarak dbyi tanımlıyoruz.

ContentValues veriler = new ContentValues();

//içerikleri girmek için veriler adlı ContentValues oluşturuyoruz.

veriler.put("adi", adi);

//adi alanına adi parametresi kaydedilecek

veriler.put("soyadi",soyadi);

//soyadi alanına soyadi parametresi kaydedilecek

db.insertOrThrow("ogrenci", null, veriler);

//ogrenci tablosunda insert komutunu çalıştırıyoruz.

}

}

Kayıt girme işlemi tamam. Göstermesini yapalım. Kodları aşağıdaki gibi düzenliyoruz. Açıklamalarını yazdım.

package com.ceylan.veritabani;

import android.app.Activity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class vtactivity extends Activity {

/** Called when the activity is first created. */

private vtolustur ogrenci;

//vtolusturdan ogrenci adlı veritabanımızı tanımlıyoruz.

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

ogrenci=new vtolustur(this, null, null, 1);

//veritabanı nesnemizi oluşturuyoruz.

final EditText txtadi=(EditText)findViewById(R.id.txtadi);

final EditText txtsoyadi=(EditText)findViewById(R.id.txtsoyadi);

//txtadi ve txtsoyadi tanımlanıyor.

Button kaydetbuton=(Button)findViewById(R.id.kaydetbuton);

//butonu tanımlıyoruz.

final TextView sonuc=(TextView)findViewById(R.id.sonuc);

//gösterilecek sonuçlar için textview tanımlanıyor.

kaydetbuton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub

kayitekle(txtadi.getText().toString(),txtsoyadi.getText().toString());

//kayitekle methodu çalıştırılıyor, içerisine txtadi ve txtsoyadi parametreleri giriliyor.

Cursor cursor = KayitGetir();

//cursor tanımlanıyor. (imleç) tablo içerisindeki verilerde dolaşmak için kullanılan bi nesne

KayitGoster(cursor);

//kayitgoster methodu çağırılıyor.

}

});

}

public void kayitekle(String adi,String soyadi)//kayitekle methodunu oluşturuyoruz

{

SQLiteDatabase db=ogrenci.getWritableDatabase();

//yazılabilir olarak dbyi tanımlıyoruz.

ContentValues veriler = new ContentValues();

//içerikleri girmek için veriler adlı ContentValues oluşturuyoruz.

veriler.put("adi", adi);

//adi alanına adi parametresi kaydedilecek

veriler.put("soyadi",soyadi);

//soyadi alanına soyadi parametresi kaydedilecek

db.insertOrThrow("ogrenci", null, veriler);

//ogrenci tablosunda insert komutunu çalıştırıyoruz.

}

private String[] SELECT = {"adi", "soyadi"};

//select dizi stringine gösterilecek alanları ekliyoruz.

private Cursor KayitGetir(){

SQLiteDatabase db = ogrenci.getReadableDatabase();

Cursor cursor = db.query("ogrenci", SELECT, null, null, null, null, null);

startManagingCursor(cursor);

return cursor;

}

//cursor için kullanılan method.

private void KayitGoster(Cursor cursor){

StringBuilder builder = new StringBuilder("Kayitlar:");

//stringbuilderdan builder nesnesini oluşturuyoruz ve ilk önce kayıtlar yazdırıyoruz.

while(cursor.moveToNext()){

//veritabanındaki tüm satırlar döngü içerisinde çağırılıyor

String adi = cursor.getString((cursor.getColumnIndex("adi")));

String soyadi = cursor.getString((cursor.getColumnIndex("soyadi")));

//adi ve soyadi değişkenleri oluşturulup tablodaki kayıtlar aldırılıyor.

builder.append("nnAdı:").append(adi);

builder.append("nsoyadı:").append(soyadi);

//builder içerisine satır boşlukları(n) bırakılarak veritabanından değerler eklettiriliyor.

}

TextView sonuc=(TextView)findViewById(R.id.sonuc);

sonuc.setText(builder);

//sonuc textviewine builderdaki bilgiler aktarılıyor.

}

}


Share this Post

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*