I am working on a video editor program and am fairly new to android and java. What I would like to happen is when the user presses "create new project" button, a dialog pops up asking the user for the name of the project. I have that part down, but what I then want, is when the user presses "ok" on that dialog, my code will take the name and create a directory inside of my data/data file for my project and inside of that directory create folders titled 1 to 5 or more. I really don't know how to go about this, so any input would be truly appreciated.
As sgarman proposed you can use the SD card (and I think it's better) but if you want to use your application dir you can get it by calling getFilesDir()
from your activity, it will return a File
object of /data/data/your.app/files
then you can get the path and append the new directory:
String dirPath = getFilesDir().getAbsolutePath() + File.separator + "newfoldername";
File projDir = new File(dirPath);
if (!projDir.exists())
projDir.mkdirs();
...
The proper way to get a directory that, for the primary device owner, resides under Android/data/packagename on external storage, is just to call getExternalFilesDir() on an available Context.
That is,
File folder = context.getExternalFilesDir("YOUR FOLDER NAME");
And also you have to add write permission in Manifest
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
You can do almost all of that using the File and use something like this Save an edited image to the SD card
Check out the getFilesDir method which will return the directory you're looking for. You'll probably want to make a subdirectory as well.
来源:https://stackoverflow.com/questions/5627353/how-to-create-file-directories-and-folders-in-android-data-data-project-filesyst