by A.Gökhan, M.Sc. | Nisan 12 17:52
Merhaba! Bu yazıda Android cihazlarda kullanılmak üzere bir uygulama yapacağız. Bu uygulama SQLite veritabanı bağlantısı içerecek ve veri ekleme – çıkarma dinamiklerinden oluşacak.
[1]
Herhangi bir veri ekleme, silme, görüntüleme, güncelleme gibi bir işlem yapmak istiyorsanız, veritabanı da kullanmanız gerekmektedir. Buradan hareketle Android işletim sisteminde SQLite kullanmayı ele alırsak oldukça basit olduğunu göreceğiz. Bunun için SQLite editöre ihtiyacımız var. Kullanılması kolay ve kullanıcı dostu birçok editör var. Ancak biz Firefox SQLite Manager eklentisini kullanarak yapalım. Öncelikle Firefox tarayınızı açın ve SQLite Manager eklentisini indirin. İndirme işlemi gerçekleştikten sonra Tools/SQLite Manager, Türkçe Araçlar dizini altında erişebilirsiniz. Ve veritabanı içerisindeyiz! Şimdi gerekli dosyaları oluşturalım:
Bizim için gerekli olan dosya database.java. Bunun sebebi verilerin veritabanındaki tablolara eklenecek olması haliyle. Yani başta da dediğim gibi, veri varsa ve biz bu verileri saklamak istiyorsak, bir veritabanına ihtiyaç duyarız. Şimdi database.java dosyasını kodlayalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package database.connection; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Database extends SQLiteOpenHelper { private static final String MYDATABASE = "names"; private static final int VERSION = 1; public Database(Context connection) { super(connection, MYDATABASE, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE mynames(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { db.execSQL("DROP TABLE IF EXIST mynames"); onCreate(db); } } |
MYDATABASE adında yeni bir veritabanı oluşturduk. Tablo adı ise names. names isimli tabloda iki alan mevcut, id ve name. Bundan sonra bildiğimiz SQL. id alanı integer, name alanı ise metin girişi bekleyecek. Bunun için de Android XML dosyasında form oluşturuyoruz. data.xml dosyasına bakalım:
1 2 3 4 5 6 7 8 9 10 |
<relativelayout android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <edittext android:id="@+id/editText1" android:layout_alignparentleft="true" android:layout_alignparentright="true" android:layout_alignparenttop="true" android:layout_height="wrap_content" android:layout_width="wrap_content"> <requestfocus> </requestfocus> </edittext> <button android:id="@+id/senddata" android:layout_below="@+id/editText1" android:layout_centerhorizontal="true" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Button"> <textview android:id="@+id/textView1" android:layout_alignparentleft="true" android:layout_below="@+id/verigonder" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text=""> </textview> </button> </relativelayout> |
Şimdi asıl işin yapılacağı DatabaseActiviy.java dosyasını oluşturalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
package database.connection; //Those are included by the system 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 DataBaseActivity extends Activity { private DB names; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.data); //including layout/data.xml file names = new DB(this); final EditText name=(EditText) findViewById(R.id.editText1); Button senddata=(Button) findViewById(R.id.senddata); senddata.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try{ AddDATA(name.getText().toString()); Cursor cursor = ShowDATA(); ShowDATA(cursor); } finally{ names.close(); } } }); } private void AddDATA(String ResultName){ SQLiteDatabase db = names.getWritableDatabase(); ContentValues datas = new ContentValues(); datas.put("name", ResultName); db.insertOrThrow("ournames", null, datas); } private String[] SELECT = {"id", "name"}; private Cursor ShowDATA(){ SQLiteDatabase db = names.getReadableDatabase(); Cursor cursor = db.query("ournames", SELECT, null, null, null, null, null); startManagingCursor(cursor); return cursor; } private void ShowDATA(Cursor cursor){ StringBuilder builder = new StringBuilder("RESULTS!:\n"); while(cursor.moveToNext()){ String whatthenameis = cursor.getString((cursor.getColumnIndex("name"))); builder.append(whatthenameis).append("\n"); } TextView text = (TextView)findViewById(R.id.textView1); text.setText(builder); } } |
İşlemimiz tamam. Forma veri giriliyor ve veritabanına ekleniyor. Eğer veritabanını kontrol etmek isterseniz Eclipse içerisinde file explorer/data/[proje dosya adı]/database yönergesini izleyebilirsiniz.
[2]
Bu kadardı. Veri eklemek için form alanına birşeyler yazıp, butona basıyoruz. Sonuç olarak SQLite veritabanını kullanarak Android işletim sistemine sahip bir cihazda işlem yapmış olduk.
Bu yazının İngilizce versiyonu http://stdioe.blogspot.com[3] adresinde tarafımdan yayınlanmıştır: How to Connect SQLite Database in Android & A Simple App: “Accessing Data With Android Cursors”[4]
Görüşmek dileğiyle!
Source URL: http://www.phpservisi.com/android-isletim-sisteminde-sqlite-veritabani-baglantisi-ile-verilere-erisim/
Copyright ©2025 Phpservisi.com unless otherwise noted.