Android บันทึกไฟล์ไปยังที่จัดเก็บข้อมูลภายนอก
ฉันมีปัญหาเล็กน้อยกับการสร้างไดเร็กทอรีและบันทึกไฟล์ลงในแอปพลิเคชัน Android ของฉัน ฉันใช้โค้ดชิ้นนี้เพื่อทำสิ่งนี้: 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(); แต่มันมีข้อยกเว้น: java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว) ในบรรทัดนั้น: fos = new FileOutputStream(file); ถ้าฉันตั้งชื่อไฟล์เป็น: "MyApp/MediaTag-"+objectId+"มันใช้งานได้ แต่ถ้าฉันพยายามสร้างและบันทึกไฟล์ไปยังไดเร็กทอรีอื่นมันจะทำให้เกิดข้อยกเว้น มีความคิดอะไรที่ฉันทำผิด? และอีกคำถาม: มีวิธีใดบ้างที่จะทำให้ไฟล์ของฉันเป็นส่วนตัวในที่จัดเก็บข้อมูลภายนอกเพื่อให้ผู้ใช้ไม่สามารถเห็นไฟล์เหล่านี้ในแกลเลอรีได้เฉพาะเมื่อเขาเชื่อมต่ออุปกรณ์ของเขาเป็นDisk Drive?