Per creare directory sul telefono memoria di storage primario (la memoria interna in generale) si dovrebbe usare codice seguente. Si prega di notare che in ExternalStorage Environment.getExternalStorageDirectory()
non si riferisce necessariamente al sdcard, restituisce la memoria di archiviazione di telefono principale
File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "MyDirName");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("App", "failed to create directory");
return null;
}
}
Directory creata usando questo codice saranno visibili per l'utente del telefono. L'altro metodo (come nella risposta accettata) crea la directory in posizione (/data/data/package.name/app_MyDirName), quindi il normale utente del telefono non sarà in grado di accedervi facilmente e quindi non dovresti usarlo per archiviare video/foto ecc
Avrete bisogno di permessi, in AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
Penso che il controllo se esiste non è necessario qui. Base sulla documentazione: "La directory sarà stata creata se non esiste già." – Paul
if (! Mydir.exists) dovrebbe essere ** if (! Mydir.exists()) ** –
come si aggiunge un file a questa dir specifica? –