尝试制作本地 SQLite 数据库时使用原始文件

Using raw file when trying to make local SQLite database

目前我正在使用 SQLite 数据库,该数据库将从存储所有专辑内容(如专辑插图、曲目名称等)的设备外部存储器(如 SD)中提取 .mp3s在我的 DataBase 中的 MediaPlayer 中。我的目标是在 .apk 被提取后让它已经预加载 .mp3s,所以我尝试将 .mp3s 存储在原始文件中以进行 R.raw.song 调用,但我得到了错误,因为我的歌曲有大写字母和数字,我想保留它们,我不想重新标记每个,我想利用这个 DataBaseHelper。如果我一直收到此错误,如何在我的 DataBase 中预加载内容?

Error:Execution failed for task ':audiobook:mergeDebugResources'.
> /Users/user/Downloads/MaterialAudiobookPlayer/audiobook/src/main/res/raw/102 - Trafalgarsquare.mp3: Error: Invalid file name: must contain only lowercase letters and digits ([a-z0-9_.])

How can I have preloaded content in my DataBase if I keep getting this error?

这与数据库无关。它与有效的资源名称有关,而您的文件没有有效的资源名称。

要在您的应用程序中打包任意命名的文件,请将它们放在您的 assets/ 目录中并使用 AssetManager 访问它们。

或者,如果您希望将它们保留为原始资源,以便像 MediaPlayer 一样使用 类 更轻松地播放,请将它们重命名为具有资源的有效文件名。