@eldqs. ви навіть не уявляєте, наскільки це складна тема - запис на SD карту в Android'е:
Якщо версія Андроїда нижче KitKat (API <19), то ваш код более-менее работоспособен (при условии наличия пермишенов в манифесте).
Якщо це не так, то тут починаються проблеми. З одного боку, начебто під KitKat заборонений доступ до зовнішньої SD карті (ключове слово зовнішня. Тому що є не монтується внутрішні SD карти, на які це обмеження не поширюється).
Начебто, тому що:
- Є кілька більш-менш успішних експлойтів і патчів, використовуючи які можна обійти обмеження KitKat - погуглити з ключовими словами: kitkat external storage.
- Навіть в рамках KitKat можна писати на зовнішню SD карту, за умови, що пишеться каталог на зовнішньої SD карті повертається методом: Context.getExternalFilesDir. Але треба врахувати при цьому, що цей каталог буде віддалятися при знесенні додатки. В принципі можна перевизначати положення цього каталогу, перевизначивши вказаний метод.
Так що дерзайте.
@argamidon на жаль, це хвороба всіх відомих платформ: спочатку все просто, лаконічно і логічно, потім починає обростати різними причандаллям, з'являються Форк, версії, наростають баги, патчі і ін. В кінці-кінців стає таким монстром, що страшно дивитися на це. Я думаю Android'у залишилося жити ще років 5, поки не з'явиться нова чистенька платформа. - Barmaley 19 Лютого '15 о 6:52
@BORSHEVIK це ваше право погоджуватися або не погоджуватися. Зовсім, звичайно, Android не помре, але поступиться місцем іншій платформі. Android вже давно не нарощує популярність, а просто тупцює на місці. Коли ви під стіл пішки ходили була така платформа J2ME, теж була супер популярна, і де вона тепер? - Barmaley 19 Лютого '15 о 7:10