如何在sqlite中存储mp3文件?

时间:2014-01-10 05:40:06

标签: android database sqlite mp3 android-sqlite

我正在创建一个Android应用程序,它是一个方言字典。我的问题是我不知道如何在数据库中存储audio.mp3文件。

有人可以教我或分享一些如何制作它的代码吗?

3 个答案:

答案 0 :(得分:3)

虽然您可以使用BLOB数据类型存储它,但我强烈建议您存储在SD卡上并将其存储在db中。这样它可以帮助您更快地运行应用程序。

将媒体类型数据存储为文件的优点是

  • 您的应用程序的总大小会减少。
  • 使用较少的RAM,运行速度更快,更顺畅。

在sqlite中存储媒体类型数据的缺点是

  • 您的申请总量将会增加。
  • 您需要更多内存来加载这么大的应用程序。
  • 由于尺寸较大,需要花费时间进行锐化和拍摄。下载。

答案 1 :(得分:0)

根据您的要求,假设您的5个mp3存储在存储在文件夹(或目录)“MySongs”中的SDCard上。所以,只需扫描文件夹,

File[] myFiles;
File pathToMySongs = new File(
                Environment.getExternalStorageDirectory() + "/MySongs");
if(pathToMySongs.exists())
{
    myFiles = pathToMySongs.listFiles();
}
else
    Toast.makeText(getBaseContext(), "No files found.", Toast.LENGTH_SHORT).show();

直到现在,您将获得该文件夹中的所有文件。现在,只需使用for each循环添加数据库路径,如

for(File file : myFiles)
{
    String path = file.getAbsolutePath();
    // apply your logic of inserting in database here
}

developer.android.comhttp://developer.android.com/training/basics/data-storage/databases.html

上查看本教程

它教授如何在数据库上创建数据库和所有CRUD操作。

答案 2 :(得分:0)

将声音文件存储在数据库中的主要原因可能是产品线方法。您可以通过修改数据库而不是触及代码来开发许多类似的应用程序。

我不评论应用程序的大小,因为有关于它的评论,我不看它。

是。您可以将小型声音文件存储在sqlite数据库中作为blob字段。它运作良好。首先将数据存储在数据库中,然后检索它并将其放入临时文件中。这样,您就可以将声音文件存储在数据库中。

检查一下:

var DashboardForm = React.createClass({
    handleSubmit(event) {
    console.log(event);
    event.preventDefault();
    console.log("Form submitted");
},
render: function() {
    return (
        <form
            onSubmit={this.handleSubmit}
            id="dashboardForm" className="half-section">

            <DashFormInput
                type={'text'}
                name={'address'}
                placeholder={'address'}
                className={'dashInput subsection'} />
        </form>
    )
}
});