当我重新安装应用程序时,我注意到大多数应用程序都会在内部存储> Android>数据> com.example.package文件夹中创建一个文件夹。例如,其Facebook应用程序将类似于com.facebook.xxxxx。
但是,我最近参与的一个项目,我注意到路径“内部存储”>“ Android”>“数据”>((没有packege文件夹))中没有此类应用程序文件夹。
在哪种情况下,它不会在上述路径中创建应用程序文件夹?因为我调试的大多数应用都是通过android studio运行的,或者是通过apk文件安装的,所以默认情况下,上述位置始终只有一个应用文件夹。
因为我想将下面的文件写入getFilesDir(),
File file = new File(activity.getFilesDir(),imageFileName);
通过使用getFilesDir(),写入的文件将进入Android> Data> Package文件夹> Files文件夹,大多数已安装的应用程序在Android> Data>(此处)具有package文件夹路径。今天,我意识到我正在做的一个项目,它没有创建这样的包文件夹。因此,当我使用getFilesDir()时,那些文件仍将在上述路径中存储和创建,但它是不可见的?或将不会创建使用getFilesDir()创建的那些文件?因为正如我提到的,此应用程序不会创建包文件夹。我必须使用makedir吗?如果是,将进行哪些检查? if(!activity.getFilesDir()。exist())
File file = new File(activity.getFilesDir(),imageFileName);
//getFilesDir() normally is package folder Android > Data > (package folder*) > Files
答案 0 :(得分:0)
我已经测试并发现,如果电话仅具有内部存储(不支持SDCard),或者电话仅支持外部存储但没有SDCard插入。默认情况下,不会创建此路径中的App文件夹(Android>数据> [App文件夹]),直到我调用(getExternalFilesDir(null),“ Example1”)检查它是否存在()和makedirs()为止存在,最后使用以下路径在路径Android> App> com.xxxxx.myapp> files> Example1中创建一个应用程序文件夹Example1。
但是,为什么我创建的一些示例应用程序我从不调用getExternalFilesDir(null)或任何文件写入存储路径,但是默认情况下,我可以在Android> App> [Here]中找到我的示例应用程序路径。
默认情况下不会创建某些应用程序文件夹,但是直到存在getExternalFilesDir(null)检查并且mkdirs才存在并创建它。默认情况下安装应用程序时,将创建一些应用程序文件夹。 Android如何确定是否应该创建并显示Android> App> App文件夹,或者创建并使其不可见?
这让我感到困惑。安装应用程序时,某些应用程序将创建应用程序文件夹,默认情况下,某些应用程序将不会创建该文件夹。假设两个应用程序都从不调用任何文件路径创建方法。我使用最新的Android Studio运行一个非常简单的应用程序来测试某些东西,它创建了package文件夹。大型项目应用程序正在使用旧的gradle设置,并且大约5年前,该应用程序默认情况下不会创建包文件夹,除非我调用File(getExternalFilesDir(null),Example1)检查它是否存在,然后再不这样做mkDirs() ,软件包文件夹将创建并可见。