Android Room:以SQLite格式保存和导出数据库

时间:2019-04-24 12:58:56

标签: android sqlite android-room

我使用Room保存我的数据:

@Database(entities = {Colis.class}, version = 1)
public abstract class ChloeDatabase extends RoomDatabase {

    public abstract ColisDao colisDao();
    private static volatile ChloeDatabase INSTANCE;

    public static ChloeDatabase getDatabase(final Context context) {
        if (INSTANCE == null) {
            synchronized (ChloeDatabase.class) {
                if (INSTANCE == null) {
                    INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                            ChloeDatabase.class, "my_database")
                            // Wipes and rebuilds instead of migrating if no Migration object.
                            // Migration is not part of this codelab.
                            .fallbackToDestructiveMigration()
                            .build();
                }
            }
        }
        return INSTANCE;
    }
}

但是我真正想要的是以sqlite格式将数据保存在sdcard中(这样我就可以导出my_database.sqlite中的/sdcard/Android/data/my_package/my_database.sqlite文件了,无论它是在模拟器上还是在真实设备上)

我在互联网上搜索了一整天,却没有找到解决方案。 有人可以帮我这个忙吗?

1 个答案:

答案 0 :(得分:0)

连接仿真器或物理设备后,您可以提取数据库:

  • 转到DeviceFileExplorer
  • 数据
  • 数据
  • 找到您的应用名称
  • 数据库

    ,然后找到您的数据库。它是较大的文件。而不是将其拖放到手机存储中。之后,如果您要检查计算机中的数据,则可以使用this这里的小玩具以Sqlite语法执行查询。