2025-09-07 Room数据库预填充数据不显示问题解析与解决方案,room 数据库 Room数据库预填充数据不显示问题解析与解决方案,room 数据库 问题背景在Android开发中,使用Room数据库预填充初始数据是常见需求(如省市区数据、预设配置等)。开发者常通过assets/或res/raw/目录存放预构建的数据库文件,但实际运行时可能出现数据未成功加载的情况。核心原因分析1. 数据库版本不匹配Room通过@Database(version)注解管理版本号。若预填充数据库的版本号与代码中定义的版本号不一致,Room会触发迁移逻辑或重建空数据库。典型表现:- 日志出现Room can't verify the data integrity警告- 数据库文件被覆盖为空文件2. 文件路径错误预填充数据库文件必须放置在assets/databases/子目录(使用SQLiteAssetHelper时)或特定路径,且文件名需与代码中定义的完全一致(包括大小写)。3. 未禁用默认迁移策略Room默认启用fallbackToDestructiveMigration,当版本不匹配时会直接删除旧数据库。需通过以下配置禁用: kotlin .fallbackToDestructiveMigrationOnDowngrade(false) .f... 2025年09月07日 5 阅读 0 评论