Aby utworzyć katalog na telefon pamięci do przechowywania pamięci podstawowej (zazwyczaj wewnętrznej) należy użyć następującego kodu. Należy pamiętać, że ExternalStorage w Environment.getExternalStorageDirectory()
niekoniecznie odnosi się do sdcard, zwraca podstawowy telefon pamięciowych
File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "MyDirName");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("App", "failed to create directory");
return null;
}
}
katalog utworzony przy użyciu tego kodu będzie widoczna dla użytkownika telefonu. Druga metoda (jak w zaakceptowanej odpowiedzi) tworzy katalog w lokalizacji (/data/data/package.name/app_MyDirName), więc zwykły użytkownik telefonu nie będzie miał do niego łatwego dostępu, więc nie powinieneś go używać do przechowywania wideo/zdjęć itp
Musisz uprawnienia, w AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
Myślę, że sprawdzenie, czy istnieje, nie jest tutaj potrzebne. W oparciu o dokumentację: "Katalog zostanie utworzony, jeśli jeszcze nie istnieje." – Paul
jeśli (! Mydir.exists) powinno być ** jeśli (! Mydir.exists()) ** –
jak dodać plik do tego konkretnego katalogu? –