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)
}
}
}

浙公网安备 33010602011771号