将包含10个mp3文件的文件夹从Assets复制到SD卡

时间:2013-02-02 23:08:54

标签: android assets android-sdcard

我正在为Electrum Drum Machine/Sampler开发一款Android免费鼓套件应用程序。

我需要将包含10-20个mp3文件的文件夹从Assets复制到SD-card。 我需要包含文件的文件夹到这里“sdcard / electrum” 我还在哪里插入代码中的“sdcard / electrum”路径!

我是编码的新手,但真正快速地捕捉我可以编写我的UI,按钮,页面,但我只需要一些帮助,谢谢!

这是我的代码......

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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

  

我的设备出现错误“安装失败。请检查文件并确保有足够的空间安装”

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

你可以:

  • 卸载现有应用以尝试腾出空间,或
  • 尝试使用较短的音频剪辑或
  • 降低音频片段质量(例如,降低比特率)或
  • 使用较少的音频剪辑或
  • 请勿使用您的应用程序打包部分或全部剪辑,而是首先将部分剪辑下载到外部存储设备,或
  • 使用app install location,但我并不完全确定这会对您的情况有所帮助
相关问题