2013-02-02 54 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

相關問題