В настоящее время я пытаюсь найти способ записи медиафайла во внутреннее/внешнее хранилище (основное хранилище). Сохраняемый файл может быть любого размера от нескольких МБ до 50 МБ. У меня есть логика, которая работает на моем Droid X 2.3.3 Razr 2.3.5 (я полагаю), но не работает на моем Galaxy Nexus (у него нет съемного хранилища, но есть встроенная 16-гигабайтная карта с v4.0.2). Я осмотрелся и не нашел кода/примеров, которые работают с v4.0. Может быть, я подхожу ко всему этому неправильно, поскольку у него нет настоящей SD-карты? может быть, это что-то новое в v4.0? В настоящее время, когда я запускаю свое приложение на Galaxy Nexus, я получаю следующее: System.err(19520): java.io.FileNotFoundException:
ОБНОВЛЕНО
InputStream inputStream = urlConnection.getInputStream();
File PATH = Environment.getExternalStorageDirectory();
File FILE = new File(Environment.getExternalStorageDirectory()+ "/" + FILENAME);
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
// buffer int bufferSize = 1024; int bufferLength = 0; byte[] buffer = new byte[bufferSize];
while ((bufferLength = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, bufferLength);
}
byte[] temp = byteBuffer.toByteArray();
FileOutputStream fos = new FileOutputStream(FILE);
fos.write(temp);
fos.close();