­čĺż Veri Saklama Y├Ântemleri

Android ├╝zerinde verileri kaydetme

­čĹÉ SharedPreference ile Veri Saklama

Veri Olu┼čturma ve Alma

  • val veri= this.getSharedPreferences(this.packageName, android.content.Context.MODE_PRIVATE) // Veri kayd─▒n─▒ de─či┼čkene atama

    • this.packageName : paket ismi (com.... en ├╝st sat─▒rdaki)

    • MODE_PRIVATE : sadece benim uygulamamdan eri┼čilebilirlik

  • var age1 = 30

  • veri.edit().putInt("userAge", age1).apply() // Veriyi kaydetme

    • userAge : anahtar

    • age1 : de─čer / de─či┼čken

  • val age2= veri.getInt("userAge", 0) // Kay─▒tl─▒ veriyi alma

    • userAge : anahtar (put'takini almak i├žin ayn─▒ olmal─▒)

    • 0 : E─čer anahtar yoksa, varsay─▒lan de─čer atamas─▒

  • println("stored age : $storedAge") // veriyi g├Âsterme

Veri G├╝ncelleme

age = 31
veri.edit().putInt("userAge", age).apply() // Daha ├Ânceden olan bir anahtar─▒n ├╝st├╝ne kaydedilirse g├╝ncelleme olur.

Veri Silme

  • veri.edit().remove("userAge").apply() // Veri silindi

    • userAge : silinecek anahtar

  • val age3 = veri.getInt("userAge", 0) // Veri olmad─▒─č─▒ i├žin age3 = 0 olacak.

    • userAge : anahtar

    • 0 : varsay─▒lan de─čer

­čôé SQLite ile Database Olu┼čturma

SQLite Giri┼č Temelleri

─░lk olarak try - catch yap─▒s─▒ kurulur ve olas─▒ sorunda program─▒n kapanmas─▒ engellenir.

try {
...
}
catch (e : Exception){
e.printStackTrace()
}

B├╝t├╝n kodlar─▒ ... olan yere yazaca─č─▒z. Art─▒k ba┼člayabiliriz.

SQLite ile Basit DB Olu┼čturma

database = openOrCreateDatabase("Datas", Context.MODE_PRIVATE, null)

  • "Datas" : Olu┼čtumak istedi─čimiz database'in ad─▒ ("Veriler", "Hey", "hop" vb.)

    • Yaz─▒m kurallar─▒ gere─či database ad─▒ b├╝y├╝k harfle ba┼člamal─▒

  • Context.MODE_PR─░VATE : Database'i private (├Âzel) sadece bizim eri┼čebilece─čimiz halde kurmak.

    • (Context.MODE yaz─▒p ALT+ SPACE yaparsan─▒z detaylar ├ž─▒kacakt─▒r kar┼č─▒n─▒za)

  • null : CursorFactory

SQLite DB Olu┼čturma Kodlar─▒

try {
val database = openOrCreateDatabase("Datas", Context.MODE_PRIVATE, null)
ÔÇő
database.execSQL("CREATE TABLE IF NOT EXIST datas (name VARCHAR, age INT(2)")
// INT(2) ile 2 rakam olaca─č─▒n─▒ belli ediyoruz
} catch (e : Exception){
e.printStackTrace()
}
  • CREATE TABLE IF NOT EXITS table olu┼čturma

  • datas table ismi

  • VARCHAR char

  • INT Int

SQLite DB ─░┼člemleri De─či┼čtirme

Temel yap─▒s─▒ database.execSQL("...") ┼čeklindedir.

database.execSQL("INSERT INTO datas (name, age) VALUES ('Yunus' , 21)") // Veri Ekleme
database.execSQL("INSEER INTO datas (name, age) VALUES ('Emre', 15") // Veri Ekleme
database.execSQL("UPDATE datas SET age = 21 WHERE name = 'Yunus") // Veri g├╝ncelleme
database.execSQL("DELETE FROM datas WHERE age = 15") // Veri silme
database.execSQL("SELECT FROM datas WHERE name = 'Yunus") // Yunus isimli olan datalar─▒ al─▒r
database.execSQL("SELECT FROM datas WHERE name LIKE '%s'") // sonunda 's' harfi olanlar─▒ al─▒r
database.execSQL("SELECT FROM datas WHERE name LIKE 'y%") // ba┼č─▒nda 'y' harfi olanlar─▒ al─▒r
database.execSQL("SELECT FROM datas WHERE name LIKE '%u%") // i├žinde 'u' harfi olanlar─▒ al─▒r
  • INSERT INTO Veri ekleme i├žin SQL kodu

  • UPDATE Veri g├╝ncelleme

  • SELECT Veri se├žme

  • datas table ismi

  • name de─či┼čken ismi

  • age de─či┼čken ismi

  • VALUES de─čerleri atamak i├žin SQL kodu

  • 'Yunus' VARCHAR (string) tipindeki veri

  • 21 INT(2) (Int) tipindeki veri

SQLite DB Okuma

if (database != null) {
val cursor = database!!.rawQuery("SELECT * FROM datas", null)
ÔÇő
val nameIndex = cursor.getColumnIndex("name")
val ageIndex = cursor.getColumnIndex("age")
ÔÇő
cursor.moveToFirst()
ÔÇő
while (cursor != null){
println("─░sim : ${cursor.getString(nameIndex)}" )
println("Ya┼č : ${cursor.getString(ageIndex)}")
ÔÇő
cursor.moveToNext()
}
}
  • rawQuery(...) SQL kodu ile veri alma

  • SELECT * FROM B├╝t├╝n verileri almak i├žin SQL kodu

  • nameIndex name s├╝t├╝nundaki verilerin indexi

  • ageIndex age s├╝tunundaki verilerin indexi

  • Cursor.moveToFirst() Cursoru ilk elemana at─▒yoruz

  • Cursor.getString() ─░stenen indexteki string olarak d├Ând├╝r├╝r.

  • Cursor.moveToNext() cursoru bir s├╝t├╝n a┼ča─č─▒ indirme