Android Kotlin ile Favorilere Ekleme Özelliği

 

Room Database Rehberi 

Android Kotlin ile Favorilere Ekleme Özelliği

Android Kotlin ile Favorilere Ekleme Özelliği Nasıl Yapılır? (Room Database Rehberi)

Android uygulama geliştirme sürecinde kullanıcı deneyimini artıran en önemli özelliklerden biri "Favorilere Ekle" sistemidir. İster bir e-ticaret uygulaması ister bir haber bloğu yapın, kullanıcıların beğendikleri içerikleri kaydetmesini sağlamak etkileşimi artırır.

Bu rehberde, Kotlin ve Room Persistence Library kullanarak profesyonel bir favori sistemini nasıl inşa edeceğinizi adım adım öğreneceğiz.


1. Room Bağımlılıklarını Projeye Ekleyin

İlk olarak build.gradle (Module: app) dosyanıza gerekli kütüphaneleri ekleyerek başlayın:

dependencies {
    def room_version = "2.6.1"
    implementation "androidx.room:room-runtime:$room_version"
    kapt "androidx.room:room-compiler:$room_version"
    implementation "androidx.room:room-ktx:$room_version"
}

2. Veri Modelini (Entity) Oluşturun

Favoriye eklenen öğelerin veritabanında nasıl saklanacağını belirleyen bir tablo yapısı kuruyoruz.

@Entity(tableName = "favorites_table")
data class FavoriteProduct(
    @PrimaryKey val id: Int, 
    val name: String,
    val imageUrl: String
)

3. Veri Erişim Nesnesi (DAO) Tanımlayın

Veritabanına veri eklemek, silmek veya tüm favorileri listelemek için gerekli fonksiyonları burada tanımlıyoruz.

@Dao
interface FavoriteDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun addFavorite(product: FavoriteProduct)

    @Delete
    suspend fun removeFavorite(product: FavoriteProduct)

    @Query("SELECT * FROM favorites_table")
    fun getAllFavorites(): LiveData<List<FavoriteProduct>>
}

4. MainActivity Üzerinden Favori İşlemi

Kullanıcı bir butona tıkladığında favori ekleme işlemini lifecycleScope kullanarak gerçekleştirebiliriz:

binding.btnFavorite.setOnClickListener {
    val favoriteItem = FavoriteProduct(id = 101, name = "Akıllı Telefon", imageUrl = "url")
    
    lifecycleScope.launch {
        db.favoriteDao().addFavorite(favoriteItem)
        Toast.makeText(this@MainActivity, "Favorilere Eklendi!", Toast.LENGTH_SHORT).show()
    }
}

Favori Sistemi İçin Altın Kurallar

  • Görsel Geri Bildirim: İkon durumunu (dolu/boş) anlık güncelleyin.
  • Asenkron Yapı: Veritabanı işlemlerini mutlaka Coroutines (IO Dispatcher) ile yönetin.
  • LiveData/Flow: Favori listesini gözlemlemek için reactive yapılar kullanın.

Yorum Gönder

0 Yorumlar