Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c178cc5dc5 |
@@ -1,28 +1,10 @@
|
|||||||
package com.zywl.test1229.database
|
package com.zywl.test1229.database
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Database
|
import androidx.room.Database
|
||||||
import androidx.room.Room
|
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import com.zywl.test1229.bean.StakeInfo
|
import com.zywl.test1229.bean.StakeInfo
|
||||||
|
|
||||||
@Database(entities = [StakeInfo::class], version = 1, exportSchema = false)
|
@Database(entities = [StakeInfo::class], version = 1, exportSchema = false)
|
||||||
abstract class AppDatabase : RoomDatabase() {
|
abstract class AppDatabase : RoomDatabase() {
|
||||||
abstract fun dataDao():DataDao
|
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,19 +1,21 @@
|
|||||||
package com.zywl.test1229.database
|
package com.zywl.test1229.database
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
|
import androidx.room.Upsert
|
||||||
import com.zywl.test1229.bean.StakeInfo
|
import com.zywl.test1229.bean.StakeInfo
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
interface DataDao {
|
interface DataDao {
|
||||||
@Insert
|
@Upsert
|
||||||
suspend fun insert(data:StakeInfo)
|
suspend fun insert(data: StakeInfo)
|
||||||
@Insert
|
|
||||||
suspend fun insertAll(data:List<StakeInfo>)
|
@Upsert
|
||||||
|
suspend fun insertAll(data: List<StakeInfo>)
|
||||||
|
|
||||||
@Query("SELECT * FROM info_table")
|
@Query("SELECT * FROM info_table")
|
||||||
fun getAllStakeInfo(): LiveData<List<StakeInfo>>
|
suspend fun getAllStakeInfo(): List<StakeInfo>
|
||||||
|
|
||||||
@Query("DELETE FROM info_table")
|
@Query("DELETE FROM info_table")
|
||||||
suspend fun deleteAll()
|
suspend fun deleteAll()
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,6 @@ import android.content.Context
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.zywl.test1229.bean.Constant
|
|
||||||
import com.zywl.test1229.bean.StakeInfo
|
import com.zywl.test1229.bean.StakeInfo
|
||||||
import com.zywl.test1229.data.PermissionState
|
import com.zywl.test1229.data.PermissionState
|
||||||
import com.zywl.test1229.database.DataDao
|
import com.zywl.test1229.database.DataDao
|
||||||
@@ -24,7 +23,6 @@ import kotlinx.coroutines.flow.update
|
|||||||
import kotlinx.coroutines.isActive
|
import kotlinx.coroutines.isActive
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import java.io.File
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
@@ -72,13 +70,12 @@ class HomeViewModel @Inject constructor(
|
|||||||
_state.update { it.copy(items = it.items + stakeInfoList) }
|
_state.update { it.copy(items = it.items + stakeInfoList) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private fun onUpdateItems(dataDao: DataDao){
|
|
||||||
|
private fun onUpdateItems(dataDao: DataDao) {
|
||||||
viewModelScope.launch(Dispatchers.IO) {
|
viewModelScope.launch(Dispatchers.IO) {
|
||||||
val stakeInfoList = dataDao.getAllStakeInfo().value
|
val stakeInfoList = dataDao.getAllStakeInfo()
|
||||||
stakeInfoList?.let {
|
Log.d(TAG, "onFileSelected: $stakeInfoList")
|
||||||
Log.d(TAG, "onFileSelected: $stakeInfoList")
|
_state.update { it.copy(items = stakeInfoList) }
|
||||||
_state.update { it.copy(items = stakeInfoList) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user