首页 > 解决方案 > 从 API 25 开始,无法读取 Room DB 数据

问题描述

我有一个应用程序,其中所有数据都是从预先填充的数据库中提供的。我选择使用 Room 数据库,并且在 Android API 25 下一切正常,但是在 25、...、28 上,似乎根本没有读取数据。logcat 中没有任何警告或相关信息。

这就是我初始化房间数据库的方式:

INSTANCE = Room.databaseBuilder(context,
                    RoomBibleDatabase.class, "My_Database")
                    .allowMainThreadQueries() // Just for testing...
                    .build();

我的预填充数据库文件位于 src/main/assets/My_Database 中。

我尝试了一些不同的方法,包括在我的 Manifest.xml 文件中添加读/写权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

解决这个问题真的很令人沮丧,因为我没有任何错误或警告反馈。

谁能告诉我 Android API 版本是否有任何限制,或者您对为什么会发生这种情况有任何其他建议?

提前致谢!

标签: androidandroid-roomandroid-8.0-oreoandroid-9.0-pieandroid-7.1-nougat

解决方案


推荐阅读