我正在创建一个Android应用程序,它是一个方言字典。我的问题是我不知道如何在数据库中存储audio.mp3文件。
有人可以教我或分享一些如何制作它的代码吗?
答案 0 :(得分:3)
虽然您可以使用BLOB数据类型存储它,但我强烈建议您存储在SD卡上并将其存储在db中。这样它可以帮助您更快地运行应用程序。
将媒体类型数据存储为文件的优点是
在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.com:http://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>
)
}
});