Sobes.tech
Junior

Android tətbiqlərində hansı məlumat saxlama növləri mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

  1. Daxili yaddaş:

    • Yalnızca faylı yaradan tətbiq üçün əlçatandır.
    • Fayllar tətbiqi siləndə silinir.
    • Tətbiqin gizli məlumatlarını saxlamaq üçün uyğundur.
  2. Xarici yaddaş:

    • Bütün tətbiqlər üçün əlçatandır (icazələr tələb olunduqdan sonra).
    • Fayllar tətbiqi siləndən sonra da qalır.
    • Şəkil və ya musiqi kimi ümumi məlumatların saxlanması üçün uyğundur.
  3. Paylaşılan Seçimlər:

    • Kiçik məlumat həcmində açar-dəyər formatında saxlayır.
    • Tətbiq parametrlərini və ya istifadəçi üstünlüklərini saxlamaq üçün istifadə olunur.
    • Məlumatlar XML faylında saxlanılır.
  4. SQLite Verilənlər Bazaları:

    • Əlaqəli verilənlər bazası.
    • Strukturlaşdırılmış məlumatların saxlanması üçün uyğundur.
    • Məlumatların manipulyasiyası üçün SQL sorğularından istifadə etməyə imkan verir.
  5. Content Providers:

    • Tətbiqlər arasında məlumatlara giriş üçün standartlaşdırılmış interfeys təmin edir.
    • Əlaqələr və ya təqvim kimi məlumatların mübadiləsi üçün istifadə olunur.
    • Digər komponentlərdən tətbiqin öz məlumatlarına giriş üçün istifadə edilə bilər.
  6. Jetpack DataStore:

    • Paylaşılan Seçimlərin yerini tutur.
    • Məlumatların saxlanması üçün asinxron API təmin edir.
    • Məlumatların tipini və səhvlərin idarə olunmasını dəstəkləyir.

Budur Paylaşılan Seçimlərin istifadəsinə nümunə:

// SharedPreferences obyektini əldə edirik
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
    // Dəyəri saxlayırıq
    putBoolean("is_first_run", false)
    apply() // Dəyişiklikləri asinxron tətbiq et
}

// Dəyəri oxuyuruq
val isFirstRun = sharedPref.getBoolean("is_first_run", true)

Budur SQLite istifadə nümunəsi:

// Verilənlər bazası və cədvəl yaradılması
class DBHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {

    companion object {
        const val DATABASE_VERSION = 1
        const val DATABASE_NAME = "MyDatabase.db"
        const val TABLE_NAME = "my_table"
        const val COLUMN_ID = "_id"
        const val COLUMN_NAME = "name"
    }

    override fun onCreate(db: SQLiteDatabase) {
        val createTable = "CREATE TABLE $TABLE_NAME (" +
                "$COLUMN_ID INTEGER PRIMARY KEY," +
                "$COLUMN_NAME TEXT)"
        db.execSQL(createTable)
    }

    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
        // Verilənlər bazasının yenilənmə məntiqi
    }
}

// Məlumatların daxil edilməsi
val dbHelper = DBHelper(this)
val db = dbHelper.writableDatabase

val values = ContentValues().apply {
    put(DBHelper.COLUMN_NAME, "Nümunə ad")
}

val newRowId = db.insert(DBHelper.TABLE_NAME, null, values)