如何将声源从ressources / raw存储到内部SD卡[Android]

时间:2015-12-29 08:08:19

标签: android bitmapfactory

问题是,在我的应用程序的第一次启动时,我从drawable文件夹加载一些图像,然后使用此函数将它们放入我的存储中:

1-我首先将它们作为位图

java.sql.SQLException: No suitable driver found

然后我使用此函数转换它们

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String jdbcUrl = "jdbc:sqlserver://<host>.database.windows.net:1433;database=<database>;user=<username>@<host>;password=<password>;encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;";
String user = "<username>@<host>";
String password = "<password>";
Connection conn = DriverManager.getConnection(jdbcUrl, user, password);
PreparedStatement statement = conn.prepareStatement("select 1 as id, 'peter' as name");
ResultSet rs = statement.executeQuery();
while(rs.next()) {
    System.out.println(rs.getLong("id")+","+rs.getString("name"));
}
rs.close();
statement.close();

但是现在我需要为声音做同样的事情,我需要将声音字段存储在内部存储器的原始部分中,以便以后使用它们。

所以如果有人可以帮助我,那对他很温和, PS:我将这些文件的路径存储在我的SQLite数据库中。

1 个答案:

答案 0 :(得分:1)

如果使用InputStream进行读取,请使用OutputStream进行写入,即使用BufferedOutputStream包装的FileOutputStream。此外,您的代码效率很低,因为它一次只复制一个字节。我建议创建一个字节数组缓冲区并使用这些相关的读/写方法:

int BufferedInputStream.read(byte[] buffer, int offset, int length)void BufferedOutputStream.write(byte[] buffer, int offset, int length)

有关详细信息,请使用此link,它可以帮助您