在尝试创建本地SQLite数据库时使用原始文件

时间:2015-02-26 13:55:08

标签: android mp3 android-sqlite android-mediaplayer android-resources

目前我正在使用一个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_.])

1 个答案:

答案 0 :(得分:0)

  

如果我一直收到此错误,如何在DataBase中预加载内容?

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

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

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