如何在安装Android应用程序时在内部存储上创建目录?

2022-09-02 19:57:26

我想要一个文件夹,我将在其中放置我需要的所有资源,并且我希望它位于内部存储上。由于我希望此目录仅创建一次,因此我发现我应该在应用程序的主要活动中创建它:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    File directory = context.getDir("mydir", Context.MODE_PRIVATE);
    Log.d("directory", directory.getAbsolutePath().toString());
} 

这似乎没关系,因为这是我能够在互联网上找到的,但是我收到了大量的错误,我可以访问目录路径的日志,并且应用程序无法启动。任何想法为什么?

另外,如果我每次从 Eclipse 运行到手机的应用程序时都使用内部存储,它是否会自动删除前一个应用程序及其资源,还是我必须手动执行此操作?


答案 1

用。它返回文件系统上应用程序特定缓存目录的绝对路径。然后,您可以创建目录getCacheDir()

File myDir = new File(getCacheDir(), "folder");
myDir.mkdir();

答案 2

如果您想存储在外部存储SD卡上,则需要有这个

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在您的 AndroidManifest.xml 文件中

此外,对于使用存储也是如此:

File direct = new File(Environment.getExternalStorageDirectory()+"/folder");

if(!direct.exists()) {
     if(direct.mkdir()); //directory is created;
}

推荐