2013-02-02 55 views
0

我正在开发一个用于Electrum鼓机器/采样器的android免费鼓套件应用程序 我需要将包含10-20个mp3文件的文件夹从Assets复制到SD卡。 我需要包含文件的文件夹去这里“sdcard/electrum” 也正是我在哪里插入路径“sdcard/electrum”的代码!从资产到SD卡包含10个mp3文件的复制文件夹

即时通讯新的编码,但赶上真正快我可以编码我的用户界面的按钮,页面,但我只需要一点帮助,谢谢你!

这里是我的代码...

package com.example.newsampletest; 

import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream; 

import android.app.Activity; 
import android.content.res.AssetManager; 
import android.os.Bundle; 
import android.util.Log; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    copyAssets(); 

} 
private void copyAssets() { 
    AssetManager assetManager = getAssets(); 
    String[] files = null; 
    try { 
     files = assetManager.list("files"); 
    } catch (IOException e) { 

    } 
    for(String filename : files) { 
     InputStream in = null; 
     OutputStream out = null; 
     try { 
      in = assetManager.open(filename); 
      out = new FileOutputStream("files/"+filename); 
      copyFile(in, out); 
      in.close(); 
      in = null; 
      out.flush(); 
      out.close(); 
      out = null; 
     } catch(Exception e) { 
      Log.e("tag", e.getMessage()); 
     } 
    } 
} 

private void copyFile(InputStream in, OutputStream out) throws IOException { 
    byte[] buffer = new byte[1024]; 
    int read; 
    while((read = in.read(buffer)) != -1){ 
     out.write(buffer, 0, read); 
    } 
} 
} 
+0

请给堆栈跟踪。 – TN888

回答

0

IM从我的设备得到一个错误“安装失败,请检查该文件,并确保有是手机类的安装足够的空间”

这表明您的APK文件太大,而您的设备缺乏足够的内部存储空间。

您可以:

  • 卸载现有的应用程序要尽量腾出空间,或
  • 尝试使用较短的音频剪辑或
  • 降低音频剪辑质量(例如,降低比特率),或
  • 使用较少的音频剪辑或
  • 不要打包的部分或全部与您的应用程序的片段,而是下载一些在第一次运行到外部存储,或
  • 玩弄app install location,虽然我不完全确定这将有助于你的情况
+0

我只是测试我的代码。所以只有资产中有一个文件。 apk只是249 KB – antony

+0

@antony:那么问题就出在你的设备没有空间了。 – CommonsWare

+0

“安装失败,解决了..谢谢,还需要把资产拿到这里”sdcard/electrum“ – antony

相关问题