Skip to content
Snippets Groups Projects
Commit 0cf3f335 authored by Khaleeq's avatar Khaleeq
Browse files

Task ViewModel,

parent 08b9c432
No related branches found
No related tags found
No related merge requests found
package com.pomo.myapplication.timerroom
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
@Database(entities = [Task::class], version = 1)
abstract class TaskDatabase : RoomDatabase() {
abstract fun taskDao(): TaskDao
companion object {
@Volatile
private var INSTANCE: TaskDatabase? = null
fun getDatabase(context: Context): TaskDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
TaskDatabase::class.java,
"task_database"
).build()
INSTANCE = instance
instance
}
}
}
}
package com.pomo.myapplication.timerroom
import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.Update
import com.pomo.myapplication.Task
import androidx.room.*
@Dao
interface TaskDao {
@Query("SELECT * FROM tasks")
suspend fun getAllTasks(): List<Task>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertTask(task: Task)
@Delete
suspend fun deleteTask(task: Task)
@Update
suspend fun updateTask(task: Task)
}
package com.pomo.myapplication.timerroom
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "tasks")
data class Task(
@PrimaryKey(autoGenerate = true)
val id: Int = 0,
val description: String,
val time: String,
val isCompleted: Boolean
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment