2016-03-08 1 views
1

Недавно я прочитал о создании папки в android и попытаюсь реализовать ее в своем приложении. Функция должна делать dir, если она не существует, загружать файл с веб-сервера и разархивировать его. Но приложение не может создать папку на внешнем устройстве. Код функцииОшибка создания папки makedirs Android

public static void download(final int section){ 
    File folder = new File(Environment.getExternalStorageDirectory(), "/try2think"); //section"+section); 
    if (!folder.exists()) { 
     if(!folder.mkdirs()) { 
      Log.i("Problem", "Problem creating folder"); 
     } 
    } 
    File folder1 = new File(Environment.getExternalStorageDirectory()+"/try2think", "section"+section); 
    if (!folder1.exists()) { 
     if(!folder1.mkdirs()) { 
      Log.i("Problem", "Problem creating folder"); 
     } 
    } 
    String downloadURL = "http://jangofetthd.me/rebus/section" + section+".zip"; 
    final String directory = Environment.getExternalStorageDirectory()+"/try2think/section"+section+"/section"+section+".zip"; 
    Ion.with(Sections.context).load(downloadURL).write(new File(directory)) 
      .setCallback(new FutureCallback<File>() { 
       @Override 
       public void onCompleted(Exception e, File file) { 
        try { 
         UnzipFile(new File(directory), new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section)); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
       } 
      }); 
} 

Что не так? Я попробовал varient с File folder = new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section); Но это также не сработало. Что я делаю не так?

ответ

1

Вы пытались добавить разрешение на запись внешнего хранилища?

Запись в манифесте следующий код:

<manifest xlmns:android...> 
... 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<application ... 
</manifest> 

Вы также можете посмотреть на это интересное руководство о сохранении и чтение информации из андроида хранилищ: Saving Files | Android Developers

+0

да .... <использует-разрешение android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> .... –

+0

только что обновил сообщение с интересной ссылкой, которую вы можете посмотреть о сохранении/чтении внешнего хранилища в Android. Я надеюсь, это поможет вам – Alejandro93sa

Смежные вопросы