Подтвердить что ты не робот

Создать папку на Android

 import java.io.File;  
    File folder = new File(Environment.getExternalStorageDirectory() + "/TollCulator");
    boolean success = true;
    if (!folder.exists()) {
        //Toast.makeText(MainActivity.this, "Directory Does Not Exist, Create It", Toast.LENGTH_SHORT).show();
        success = folder.mkdir();
    }
    if (success) {
        //Toast.makeText(MainActivity.this, "Directory Created", Toast.LENGTH_SHORT).show();
    } else {
        //Toast.makeText(MainActivity.this, "Failed - Error", Toast.LENGTH_SHORT).show();
    }

Приведенное выше должно создать папку на моей SD-карте, если она не существует, если она не делает ничего. Хотя тост работает на основе условия, но он не создает каталог, если он не существует. Любая идея, как его решить?

My Manifest выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.testing"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <uses-sdk
        android:minSdkVersion="6"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.test.testing.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Обновление. Я обновил свой манифест, а также обновил свой код, но он все еще не создает папку на моей SD-карте. Имейте в виду, что я использую Eclipse и запускаю приложение прямо на свой телефон (GNex VZW) вместо использования AVD.

4b9b3361

Ответ 1

Добавьте это разрешение в Manifest,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

File folder = new File(Environment.getExternalStorageDirectory() + 
                             File.separator + "TollCulator");
boolean success = true;
if (!folder.exists()) {
    success = folder.mkdirs();
}
if (success) {
    // Do something on success
} else {
    // Do something else on failure 
}

когда u запускает приложение, перейдите также DDMS- > File Explorer- > mnt folder- > sdcard folder- > папка создания платных страниц

Ответ 2

Если вы пытаетесь создать более одной папки в корне SDCard, например Environment.getExternalStorageDirectory() + "/Example/Ex App/"

тогда вместо folder.mkdir() вы бы использовали folder.mkdirs()

Я сделал эту ошибку в прошлом, и я потратил целую вечность, чтобы понять это.