2024/4/20

respository and viewmodel:

package com.example.personalwork.data.respository

import androidx.lifecycle.LiveData
import com.example.personalwork.data.dao.DayDao
import com.example.personalwork.data.models.DaySum

class DaySumRespository(private val dayDao: DayDao) {
val getAllData: LiveData<List<DaySum>> = dayDao.getAllData()

suspend fun insertData(daySum: DaySum){
dayDao.insertData(daySum)
}

suspend fun updateData(daySum: DaySum){
dayDao.updateData(daySum)
}

suspend fun deleteItem(daySum: DaySum){
dayDao.deleteItem(daySum)
}
}

package com.example.personalwork.data.viewmodel

import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.LiveData
import androidx.lifecycle.viewModelScope
import com.example.personalwork.data.database.DaySumDatabase
import com.example.personalwork.data.models.DaySum
import com.example.personalwork.data.respository.DaySumRespository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class DaySumViewModel(application: Application): AndroidViewModel(application) {
private val dayDao = DaySumDatabase.getDatabase(application).daydao()
private val respository: DaySumRespository

val getAllData: LiveData<List<DaySum>>

init {
respository = DaySumRespository(dayDao)
getAllData = respository.getAllData
}

fun insertData(daySum: DaySum){
viewModelScope.launch(Dispatchers.IO) {
respository.insertData(daySum)
}
}

fun updateData(daySum: DaySum){
viewModelScope.launch(Dispatchers.IO){
respository.updateData(daySum)
}
}

fun deleteItem(daySum: DaySum){
viewModelScope.launch(Dispatchers.IO){
respository.deleteItem(daySum)
}
}
}
posted @ 2024-04-20 17:01  Hbro  阅读(16)  评论(0)    收藏  举报