Compare commits

1 Commits

Author SHA1 Message Date
c178cc5dc5 定时保存 2025-02-15 22:17:02 +08:00
3 changed files with 14 additions and 33 deletions

View File

@@ -1,28 +1,10 @@
package com.zywl.test1229.database
import android.content.Context
import androidx.room.Dao
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import com.zywl.test1229.bean.StakeInfo
@Database(entities = [StakeInfo::class], version = 1, exportSchema = false)
abstract class AppDatabase : RoomDatabase() {
abstract fun dataDao():DataDao
companion object{
@Volatile
private var INSTANCE: AppDatabase? = null
fun getDatabase(context: Context): AppDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
"app_database.db"
).build()
INSTANCE = instance
instance
}
}
}
}

View File

@@ -1,19 +1,21 @@
package com.zywl.test1229.database
import androidx.lifecycle.LiveData
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
import androidx.room.Upsert
import com.zywl.test1229.bean.StakeInfo
@Dao
interface DataDao {
@Insert
suspend fun insert(data:StakeInfo)
@Insert
suspend fun insertAll(data:List<StakeInfo>)
@Upsert
suspend fun insert(data: StakeInfo)
@Upsert
suspend fun insertAll(data: List<StakeInfo>)
@Query("SELECT * FROM info_table")
fun getAllStakeInfo(): LiveData<List<StakeInfo>>
suspend fun getAllStakeInfo(): List<StakeInfo>
@Query("DELETE FROM info_table")
suspend fun deleteAll()
}

View File

@@ -4,7 +4,6 @@ import android.content.Context
import android.util.Log
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.zywl.test1229.bean.Constant
import com.zywl.test1229.bean.StakeInfo
import com.zywl.test1229.data.PermissionState
import com.zywl.test1229.database.DataDao
@@ -24,7 +23,6 @@ import kotlinx.coroutines.flow.update
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.File
import javax.inject.Inject
@HiltViewModel
@@ -72,15 +70,14 @@ class HomeViewModel @Inject constructor(
_state.update { it.copy(items = it.items + stakeInfoList) }
}
}
private fun onUpdateItems(dataDao: DataDao){
private fun onUpdateItems(dataDao: DataDao) {
viewModelScope.launch(Dispatchers.IO) {
val stakeInfoList = dataDao.getAllStakeInfo().value
stakeInfoList?.let {
val stakeInfoList = dataDao.getAllStakeInfo()
Log.d(TAG, "onFileSelected: $stakeInfoList")
_state.update { it.copy(items = stakeInfoList) }
}
}
}
private fun onPipeLineChanged(index: Int, value: StakeInfo) {
Log.d(TAG, "onPipeLineChanged: $index, $value")