目前我正在使用一个SQLite数据库,它将.mp3
从设备的外部存储器(如SD)中拉出来,存储所有相册内容(如专辑插图,曲目名称等)。我MediaPlayer
中的DataBase
。我的目标是在提取.mp3
后让它已预先加载.apk
,因此我尝试将.mp3
存储为原始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_.])
答案 0 :(得分:0)
如果我一直收到此错误,如何在DataBase中预加载内容?
这与数据库无关。它与有效的资源名称有关,而且您的文件没有有效的资源名称。
要在您的应用中打包任意命名的文件,请将它们放在assets/
目录中,然后使用AssetManager
来访问它们。
或者,如果您希望将它们保留为原始资源,以便使用MediaPlayer
等类轻松播放,请将它们重命名为具有资源的有效文件名。