gpt4 book ai didi

android - 如何在 Android Room 中完全重新创建我的数据库?

转载 作者:行者123 更新时间:2023-12-03 20:50:04 34 4
gpt4 key购买 nike

我有一种情况,我希望能够使用 Android Room 对我的数据库进行硬重置。使用 SQLiteOpenHelper ,我可以通过编写一个删除所有表和索引的方法来做到这一点,然后手动调用 SQLiteOpenHelper.onCreate() .

我知道我可以访问 SupportSQLiteOpenHelper通过房间并自己放下所有 table ,但似乎没有一个很好的方法来开始娱乐过程。

另外,我知道我可以删除每个表中的每个项目而不删除它,但这不是我想要的。这不会重置自动递增的主键,因此新项目的“id”字段不会重置回 1。

谢谢!

编辑:
这是我希望能够在运行时任意做的事情。

编辑2:
该方法应该是可维护的,即不涉及与 Room 的行为匹配的手写 SQL。理想情况下,有一些方法可以检索 Room 生成的 SQL,或者 SQLiteOpenHelper.onCreate()。等效方法。或任何其他解决此问题的方法! :)

最佳答案

我发现通过 context.deleteDatabase(“name”) 最容易做到这一点,然后在第一次访问时通过 Room.databaseBuilder().addCallback 简单地重新实例化和重新填充数据库。

关于android - 如何在 Android Room 中完全重新创建我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810358/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com