您如何重命名Room数据库?

问题描述 投票:0回答:1

我有一个名为DATABASE2的会议室数据库,可以用它实例化

Room.databaseBuilder(application, ThisDatabase.class, DATABASE2)

但是,我想将此数据库重命名为DATABASE1,以便可以从]获得相同的数据>

Room.databaseBuilder(application, ThisDatabase.class, DATABASE1)

是否有一种方法可以简单地重命名数据库并覆盖现有的DATABASE1?还是仅使用我的DAO从DATABASE2中提取信息并将其放入DATABASE1中会更容易,在这种情况下,我仍然要删除DATABASE2,这样就不会耗尽不必要的内存。] >

到目前为止,我已经尝试致电

File(getDatabasePath(DATABASE2).getAbsolutePath()).renameTo(File(getDatabasePath(DATABASE1).getAbsolutePath()))

并且它返回true(成功重命名),但是此后我在DATABASE1中没有看到任何信息,因此它似乎没有按我希望的方式工作。

我有一个名为DATABASE2的会议室数据库,可以使用Room.databaseBuilder(application,ThisDatabase.class,DATABASE2)进行实例化。但是,我想将此数据库重命名为DATABASE1,以便...

android android-room
1个回答
0
投票
-包含更改,可以在其中包含数据。 -shm不太重要。

File(getDatabasePath(DATABASE2).getAbsolutePath()).renameTo(File(getDatabasePath(DATABASE1).getAbsolutePath())) File(getDatabasePath(DATABASE2+"-wal").getAbsolutePath()).renameTo(File(getDatabasePath(DATABASE1+"-wal").getAbsolutePath())) File(getDatabasePath(DATABASE2+"-shm").getAbsolutePath()).renameTo(File(getDatabasePath(DATABASE1+"-shm").getAbsolutePath()))

© www.soinside.com 2019 - 2024. All rights reserved.