Android uygulamamda bir dizin oluşturma ve ona bir dosya kaydetme konusunda küçük bir sorunum var. Bunu yapmak için bu kod parçasını kullanıyorum:
String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();
Ama bir istisna yaratıyor:
java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (Böyle bir dosya veya dizin yok)
bu satırda: fos = new FileOutputStream(file);
Dosya adını şöyle ayarlarsam: "MyApp/MediaTag-"+objectId+"
çalışıyor, ancak dosyayı oluşturmaya ve başka bir dizine kaydetmeye çalışırsam istisna atıyor. Peki ne yaptığıma dair bir fikrin var mı?
Ve başka bir soru: Dosyalarımı harici depolama biriminde gizli hale getirmenin bir yolu var mı, böylece kullanıcı onları galeride göremez, yalnızca cihazını olarak bağlarsa Disk Drive
?
Environment.getExternalStorageDirectory()
yerine hala kullanmalısınız/sdcard
.