我使用了 AsyncTask,但它已被弃用。那么我应该如何重写我的程序。
class DBAsyncTask(val context: Context, val restaurantEntity: RestaurantEntity, val mode: Int) :
AsyncTask<Void, Void, Boolean>() {
val db = Room.databaseBuilder(context, RestaurantDatabase::class.java, "restaurant-db").build()
override fun doInBackground(vararg params: Void?): Boolean {
when (mode) {
1 -> {
val restaurant: RestaurantEntity =
db.restaurantDao().getAllRestaurant(restaurantEntity.restaurant_Id)
db.close()
return restaurant != null
}
2 -> {
db.restaurantDao().insertRestaurant(restaurantEntity)
db.close()
return true
}
3 -> {
db.restaurantDao().deleteRestaurant(restaurantEntity)
db.close()
return true
}
}
return false
}
}
我应该如何重写它并为数据库创建实例?
val checkFav = DBAsyncTask(context, restaurantEntity, 1).execute()
val isFav = checkFav.get()
我是这样用的,因为我在adapter里面用的,不知道怎么实现协程。