Мне нужно иметь возможность хранить звуковые файлы для моего приложения на SDCard - PullRequest
0 голосов
/ 20 апреля 2011

Я прочитал много тем, но ни одна, кажется, не охватывает то, что мне нужно.

У меня в основном загружены звуковые файлы, и я хочу иметь возможность воспроизводить их в приложении с SD-карты.

Я также хочу иметь возможность устанавливать их там в первую очередь при установке приложения.

Я использую Eclipse с Android SDK, и в настоящее время мой целевой проект v1.6

Кто-нибудь может помочь?

Спасибо

1 Ответ

1 голос
/ 30 апреля 2011

ОК, поэтому я нашел ответ!

Сначала нам нужно получить внешний каталог хранения в переменную с именем baseDir.

String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();

Затем создайте каталоги на SDcard

File folder = new File(Environment.getExternalStorageDirectory() + "/mysounds");
boolean success = false;
if(!folder.exists())
{
    success = folder.mkdir();     
}         
if (!success) 
{ 
    // Do something on success
}
else 
{
    // Do something else on failure 
}

Тогда Этот следующий бит кода скопирует все файлы со звуком в начале имени из каталога assets в каталог mysounds, который вы уже создали.

try {
        AssetManager am = getAssets();
        String[] list = am.list("");
        for (String s:list) {
            if (s.startsWith("sound")) {
                Log.d("Notice", "Copying asset file " + s);
                InputStream inStream = am.open(s);
                int size = inStream.available();
                byte[] buffer = new byte[size];
                inStream.read(buffer);
                inStream.close();
                FileOutputStream fos = new FileOutputStream(baseDir + "/mysounds/" + s);
                fos.write(buffer);
                fos.close();
            }
      }
 }

Надеюсь, этопомогает кому-то!

...