Room增删改查,真香!,Android开发热门前沿知识

Repository

object Repository {

val bookDao:BookDao=AppDatabase.getDatabase(MyApp.context).bookDao()

//查询所有
fun loadAllBook():LiveData<List>{
return bookDao.loadAllBook()
}

//修改图书价格
fun updateBookPrice(name:String,id:Long){
bookDao.updateBookPrice(name,id)
}

//添加图书
fun insertBook(book: Book):Long{
return bookDao.insertBook(book)
}

//根据id删除
fun deleteBookById(id:Long):Int{
return bookDao.deleteBookById(id)
}

}

MainViewModel

class MainViewModel :ViewModel() {

//查询所有的book
fun getAll():LiveData<List>{
return Repository.loadAllBook()
}
}

MainActivity

这里要注意数据库操作是属于耗时的操作,Room默认是不允许放在主线程中进行数据库操作,所以我们把对数据库增删改的操作放到了子线程中。

class MainActivity : AppCompatActivity() {
private lateinit var binding:ActivityMainBinding
private val list=ArrayList()
private lateinit var adapter: BookAdapter
private val mainViewModel by lazy {
ViewModelProvider(this).get(MainViewModel::class.java)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

binding= ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
//初始化适配器
adapter=BookAdapter(R.layout.item_book,l

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发中,增删是常见的数据库操作。首先,我们需要创建一个数据库帮助类来定义数据库的结构和版本号,然后在该类中实现数据库的创建和升级操作。接着,我们可以创建一个数据模型类来定义数据库中的表和字段。接下来,我们通过SQLiteDatabase类来实现增删操作。 增加数据:我们可以通过ContentValues类来存储要插入的数据,然后调用SQLiteDatabase的insert()方法将数据插入到数据库中。 删除数据:我们可以使用SQLiteDatabase的delete()方法来删除符合特定条件的数据。我们可以通过提供相应的条件参数来删除特定的数据行。 更新数据:要更新数据,我们可以使用SQLiteDatabase的update()方法来执行更新操作。我们需要提供要更新的数据和更新条件作为参数。 询数据:最后,我们可以使用SQLiteDatabase的query()方法来执行询操作。我们可以指定要询的表、列、条件、排序等参数来获取我们需要的数据。 除了使用原生的SQLiteDatabase类进行增删操作,我们还可以使用更高级的框架比如Room来简化数据库操作。Room提供了一个更加方便的方式来定义数据库和操作数据,使得增删变得更加简单。 总之,在Android开发中,数据库操作是一个非常重要的部分。通过以上方法,我们可以实现对数据的增删操作,并且可以根据实际需求选择合适的方法和框架来进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值